<!DOCTYPE html><html><head><meta charset="UTF-8"><script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-groovy.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-java.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-javascript.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-markup.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-none.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/prism.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs/components/prism-objectivec.min.js"></script><style>
        .article {
            position: relative;
            padding-bottom: 24px;
        }
        

        .center {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }
        

        .center-text {
            text-align: center;
        }
        

        .code-block {
            overflow: hidden;
            position: relative;
            padding: 0;
            border-radius: 8px;
            font-variant-ligatures: none;
            background-color: rgba(25, 25, 28, .05);
            word-break: break-all;
        }
        

        .container {
            max-width: 100%;
            overflow: hidden;
            page-break-inside: avoid;
            display: block;
        }
        

        .control {
            color: #19191c;
            font-size: 16px;
            font-weight: 670;
        }
        

        .detached {
            margin-block-start: 0;
            margin-block-end: 0;
            margin-bottom: 8px;
        }
        

        .header-row {
            background: #e6e6e6;
        }
        

        .image {
            max-width: 100%;
            max-height: 90vh;
            height: auto;
        }
        

        .image-container {
            max-width: 100vw;
        }
        

        .image-size {
            height: auto;
        }
        

        .main-title {
            padding-bottom: 24px;
            margin-top: 0;
            font-size: 40px;
            margin-block-start: 0;
            margin-block-end: 0;
        }
        

        .prism {
            page-break-inside: avoid;
        }
        
        /* PrismJS 1.29.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+agda+al+antlr4+apacheconf+apex+apl+applescript+aql+arduino+arff+armasm+arturo+asciidoc+aspnet+asm6502+asmatmel+autohotkey+autoit+avisynth+avro-idl+awk+bash+basic+batch+bbcode+bbj+bicep+birb+bison+bnf+bqn+brainfuck+brightscript+bro+bsl+c+csharp+cpp+cfscript+chaiscript+cil+cilkc+cilkcpp+clojure+cmake+cobol+coffeescript+concurnas+csp+cooklang+coq+crystal+css-extras+csv+cue+cypher+d+dart+dataweave+dax+dhall+diff+django+dns-zone-file+docker+dot+ebnf+editorconfig+eiffel+ejs+elixir+elm+etlua+erb+erlang+excel-formula+fsharp+factor+false+firestore-security-rules+flow+fortran+ftl+gml+gap+gcode+gdscript+gedcom+gettext+gherkin+git+glsl+gn+linker-script+go+go-module+gradle+graphql+groovy+haml+handlebars+haskell+haxe+hcl+hlsl+hoon+http+hpkp+hsts+ichigojam+icon+icu-message-format+idris+ignore+inform7+ini+io+j+java+javadoc+javadoclike+javastacktrace+jexl+jolie+jq+jsdoc+js-extras+json+json5+jsonp+jsstacktrace+js-templates+julia+keepalived+keyman+kotlin+kumir+kusto+latex+latte+less+lilypond+liquid+lisp+livescript+llvm+log+lolcode+lua+magma+makefile+markdown+markup-templating+mata+matlab+maxscript+mel+mermaid+metafont+mizar+mongodb+monkey+moonscript+n1ql+n4js+nand2tetris-hdl+naniscript+nasm+neon+nevod+nginx+nim+nix+nsis+objectivec+ocaml+odin+opencl+openqasm+oz+parigp+parser+pascal+pascaligo+psl+pcaxis+peoplecode+perl+php+phpdoc+php-extras+plant-uml+plsql+powerquery+powershell+processing+prolog+promql+properties+protobuf+pug+puppet+pure+purebasic+purescript+python+qsharp+q+qml+qore+r+racket+cshtml+jsx+tsx+reason+regex+rego+renpy+rescript+rest+rip+roboconf+robotframework+ruby+rust+sas+sass+scss+scala+scheme+shell-session+smali+smalltalk+smarty+sml+solidity+solution-file+soy+sparql+splunk-spl+sqf+sql+squirrel+stan+stata+iecst+stylus+supercollider+swift+systemd+t4-templating+t4-cs+t4-vb+tap+tcl+tt2+textile+toml+tremor+turtle+twig+typescript+typoscript+unrealscript+uorazor+uri+v+vala+vbnet+velocity+verilog+vhdl+vim+visual-basic+warpscript+wasm+web-idl+wgsl+wiki+wolfram+wren+xeora+xml-doc+xojo+xquery+yaml+yang+zig&plugins=highlight-keywords */
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre-wrap;word-spacing:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:16px;margin:0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}

        

        :root {
            width: 95%;
            max-width: 95vw;
            padding: 0 0 0 30px;
        }
        
        body {
            font-family: JetBrains Sans,serif;
        }
        
        a {
            overflow-wrap: anywhere;
            width: 100vw;
        }
        
        
        @font-face {
            font-family: JetBrains Sans;
            src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff) format("woff");
            font-weight: 300;
            font-style: normal;
        }

        @font-face {
            font-family: JetBrains Sans;
            src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff) format("woff");
            font-weight: 400;
            font-style: normal;
        }

        @font-face {
            font-family: JetBrains Sans;
            src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff) format("woff");
            font-weight: 600;
            font-style: normal;
        }
        
        
        code {
            display: inline;
            word-break: break-word;
            font-size: 15px;
            line-height: inherit;
            font-variant-ligatures: none;
            font-family: JetBrains Sans,monospace;
            white-space: pre-line;
            overflow-wrap: break-word;
        }
        
        figcaption {
            margin-top: 5px;
        }
        
        h2 {
            padding-top: 16px;
            padding-bottom: 8px;
            margin-block-start: 0;
            margin-block-end: 0;
        }
        
        h3 {
            padding-top: 8px;
            padding-bottom: 8px;
            margin-block-start: 0;
            margin-block-end: 0;
        }
        
        h4 {
            padding-top: 4px;
            padding-bottom: 8px;
            margin-block-start: 0;
            margin-block-end: 0;
        }
        
        p {
            padding: 0;
            border: 0;
            line-height: 25px;
            margin-block-start: 0;
            margin-block-end: 0;
            padding-bottom: 8px;
        }
        
        div {
            display: block;
        }
        
        table {
            border-collapse: collapse;
            width: 100%;
            page-break-inside: avoid;
        }
        
        th, td {
            border: 1px solid #c4c4c4;
            padding: 10px;
            text-align: left;
            word-break: break-all;
        }
        
        .no-bold {
            font-weight: normal; 
        }
        
        .entry {
            display: grid;
            grid-template-columns: auto max-content;
            grid-template-areas: "chapter page";
            align-items: end;
            gap: 0 .25rem;
            line-height: 25px;
        }
        
        .toc-link-container{
            grid-area: chapter;
            position: relative;
            overflow: hidden;
        }
        
        .toc-link{
            text-decoration: none;
            color: black;
        }
        
        .toc-link-container::after {
            position: absolute;
            padding-left: .25ch;
            content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
            ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
            ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
            text-align: right;
        }
        
        .page {
            grid-area: page;
            width: 30px;
            text-align: right;
        }
        

        .table-wrapper {
            overflow: hidden;
            box-sizing: border-box;
            font: inherit;
        }
        

        .topic {
            page-break-before: always;
        }
        </style><title>pdfSourceIN</title></head><body><div><section class="topic"><div><article class="article"><h1 class="main-title">Table of Contents</h1><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#621566760">产品概述</a></div><div class="page">2</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#1179052776">九四玩sdk隐私政策</a></div><div class="page">3</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-1419588018">九四玩SDK合规使用说明</a></div><div class="page">11</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-1158489873">Android接入</a></div><div class="page">13</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-2098247616">Ios 接入</a></div><div class="page">19</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-1889219254">SDK for Android/IOS服务器端集成说明</a></div><div class="page">22</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#3007501">H5接入</a></div><div class="page">24</div></div></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="621566760">产品概述</h1><section class="detached"><h2 id="621566760#1-android" data-toc="1-android#产品概述.md-1-android">（1）Android接入</h2><p id="621566760#bj1uxt_6">-包含初始化、登录、支付、角色信息上报等必接功能</p></section><section class="detached"><h2 id="621566760#2-ios" data-toc="2-ios#产品概述.md-2-ios">（2）iOS接入</h2><p id="621566760#bj1uxt_7">-包含初始化、登录、支付、角色信息上报等必接功能</p></section><section class="detached"><h2 id="621566760#3-h5" data-toc="3-h5#产品概述.md-3-h5">（3）H5游戏</h2><p id="621566760#bj1uxt_8">-包含登录、支付、角色信息上报等功能</p></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="1179052776">九四玩sdk隐私政策</h1><p id="1179052776#z224e1t_3">九四玩隐私权政策适用于九四玩提供的客户端软件、网站（统称为&ldquo;九四玩产品或服务&rdquo;），包括但不限于适用于电脑、移动智能终端的产品及服务。</p><p id="1179052776#z224e1t_4">本隐私权政策旨在帮助您了解我们会收集哪些数据、为什么收集这些数据、会利用这些数据做什么以及我们如何保护这些数据。了解这些内容，对于您行使个人权利及保护您的个人信息至关重要，请您在使用本平台产品或服务前务必抽出时间认真阅读本政策。当您开始下载、访问或使用本平台产品或服务，即表示您已经同意本隐私权政策并信赖我们对您的信息的处理方式。请注意，您可以通过产品中的设置功能或控制项对您的信息进行动态管理。我们同时提醒您，当您通过平台产品或服务使用第三方产品或服务时，您的信息应当适用第三方的隐私条款。</p><p id="1179052776#z224e1t_5">【特别提示】请仔细阅读本《隐私政策》（尤其是加粗内容）并确定了解我们对您个人信息的处理规则。阅读、使用过程中，您有任何疑问，可联系我们的客服咨询，如您不同意本隐私政策中的任何条款，您应立即停止访问和使用。</p><p id="1179052776#z224e1t_6">第一部分 定义 1、本产品：九四玩</p><p id="1179052776#z224e1t_7">2、开发者：北京开源纵横网络科技有限公司。</p><p id="1179052776#z224e1t_8">3、关联公司：是指一方现在或将来控制、受控制或与其处于共同控制下的任何公司、合法机构以及上述公司、合法机构的合法继承人。控制是指（1）直接或间接持有过半数的投票权；或（2）直接或间接享有过半数的可分配利润；或（3）直接或间接控制董事会半数以上的成员的组成；或（4）直接或间接持有半数的注册资本。</p><p id="1179052776#z224e1t_9">4、个人信息：指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息。</p><p id="1179052776#z224e1t_10">5、个人敏感信息：指一旦泄露、非法提供或滥用可能危害人身和财产安全，极易导致个人名誉、身心健康受到损害或歧视性待遇的个人信息，包括身份证件号码、个人生物识别信息、银行账号、财产信息、行踪轨迹、交易信息、14岁以下（含）儿童的个人信息等。</p><p id="1179052776#z224e1t_11">6、个人信息删除：指在实现日常业务功能所涉及的系统中去除个人信息的行为，使其保持不可被检索、访问的状态。</p><p id="1179052776#z224e1t_12">7、其他非个人信息：是指在您使用本产品的产品或服务时，本产品可能自动接收并记录您的网站或应用程序上的服务器数值。包括但不限于您输入的关键词、您要求取用的网页记录及各种记录、本产品的产品或服务的操作状态、网络环境、异常日志等一些明确且客观反映在本产品的产品或服务服务器端的基本记录信息。前述基本记录信息以及其他无法通过其识别您的个人身份的信息不属于您的个人信息。</p><p id="1179052776#z224e1t_13">第二部分 隐私权政策 本隐私权政策部分将帮助您了解以下内容：</p><p id="1179052776#z224e1t_14">1、我们如何收集和使用您的个人信息</p><p id="1179052776#z224e1t_15">2、我们如何使用 Cookie 和同类技术</p><p id="1179052776#z224e1t_16">3、我们如何共享、转让、公开披露您的个人信息</p><p id="1179052776#z224e1t_17">4、我们如何保护您的个人信息</p><p id="1179052776#z224e1t_18">5、您如何管理您的个人信息</p><p id="1179052776#z224e1t_19">6、我们如何处理未成年人的个人信息</p><p id="1179052776#z224e1t_20">7、您的个人信息如何在全球范围转移</p><p id="1179052776#z224e1t_21">8、本隐私权政策如何更新</p><p id="1179052776#z224e1t_22">9、如何联系我们</p><p id="1179052776#z224e1t_23">一、我们如何收集和使用您的信息 我们会出于本政策所述的以下目的，收集、存储和使用下列与您有关的个人信息。如果您不提供相关信息，可能无法注册成为我们的用户或无法享受我们提供的某些产品或服务，或者无法达到相关服务拟达到的效果。</p><p id="1179052776#z224e1t_24">（一）帮助您成为我们的用户</p><p id="1179052776#z224e1t_25">为帮助您成为我们的用户，即完成账号的创建，以便我们为您提供用户服务。当您注册账号时，我们会收集您提供的手机号码、用户名，收集您的这些信息是为了帮助您完成账号注册，成为我们的注册用户，保护您的账号安全。如果您拒绝提供这些信息，您可能无法正常注册账号，亦无法享受我们提供的基于账号的功能服务和推荐，但不影响您使用本款产品的其他功能。在您注册好平台账号后，您可以选择进一步完善本产品帐号信息，可以向我们提供您的头像、昵称、性别、生日日期信息以获取更加个性化的服务。您亦可以通过&ldquo;APP-&gt;我的-&gt;点击头像&rdquo;界面更改这些信息。</p><p id="1179052776#z224e1t_26">（二）向您提供产品或服务</p><p id="1179052776#z224e1t_27">1、您向我们提供的信息</p><p id="1179052776#z224e1t_28">为便于您使用我们的产品或服务，需要您根据产品或服务的内容，选择填写或提交使用产品或服务所必须的信息，有时可能还需要您提供身份信息、联系方式、支付交易帐号等个人敏感信息。</p><p id="1179052776#z224e1t_29">需进行额外说明的是，为确保流畅的产品体验，您可能会收到来自我们及其合作伙伴外部的第三方（下文简称&ldquo;第三方&rdquo;）提供的内容或网络链接。我们对此类第三方无控制权。您可选择是否访问第三方提供的链接、内容、产品和服务。我们无法控制第三方的隐私和数据保护政策，此类第三方不受到本政策的约束。在向第三方提交个人信息之前，请参见这些第三方的隐私保护政策。</p><p id="1179052776#z224e1t_30">2、我们在您使用产品或服务过程中收集的信息</p><p id="1179052776#z224e1t_31">为向您提供更契合您需求的页面展示和搜索结果、了解产品适配性、识别账号异常状态、向您报送错误等，我们会收集关于您使用我们产品或服务使用方式的信息并将这些信息进行关联。这些信息包括账号信息、身份信息、设备信息、日志信息、网络环境，其中设备信息和日志信息是指：</p><p id="1179052776#z224e1t_32">设备信息：为保证正常使用我们的产品和服务，维护游戏基础功能的正常运行，提升您的用户体验并保证您的账号安全，我们会根据您在软件安装及使用中授予的具体权限，接收并记录您所使用的设备相关信息（MAC地址、浏览器UA标识、手机ROM厂商、安卓系统版本、IMEI号、手机型号、当前网络类型、匿名设备标识符oaid、 androidID、移动应用列表软硬件特征信息、传感器信息、粘贴板信息）。</p><p id="1179052776#z224e1t_33">日志信息：当您使用我们提供的产品或服务时，我们会自动收集您对我们产品/服务的详细使用情况，作为有关网络日志保存。您的搜索查询内容、浏览记录、点击记录、IP地址、浏览器的类型、电信运营商、使用的语言、访问日期和时间及您访问的网页记录。 请注意，单独的设备信息、日志信息等是无法识别特定自然人身份的信息，为了在您使用设备上为您提供一致的服务，我们会将于您各种设备（计算机、移动设备）上收集到的信息进行关联。如果我们将这类非个人信息与其他信息结合用于识别特定自然人身份，或者将其与个人信息结合使用，则在结合使用期间，这类非个人信息将被视为个人信息，除取得您授权或法律法规另有规定外，我们会将该类个人信息做匿名化、去标识化处理。 当您与我们联系时，我们可能会保存您的账号、电话、IP地址、通信记录和内容或您留下的其他联系方式信息，以便与您联系或帮助您解决问题，或记录相关问题的处理方案及结果。</p><p id="1179052776#z224e1t_34">3、为您提供本地游戏识别，游戏安装包下载，删除功能</p><p id="1179052776#z224e1t_35">在您使用我们产品时，我们会尝试读取您设备上的移动应用列表，找出已安装的游戏信息，让您在&ldquo;我的游戏&rdquo;功能里享受我们的便捷服务，如礼包，充值等；另外，您也可以通过我们产品下载/删除游戏安装包，在此之前需要您允许我们获取您的设备储存空间权限。</p><p id="1179052776#z224e1t_36">4、为您提供更换头像，上架角色交易商品信息补全功能</p><p id="1179052776#z224e1t_37">在您使用我们产品时，可随时更换您喜爱的图片作为头像；另外，在您需要出售游戏角色时，可以上传与游戏角色相关的截图等信息，并在产品中进行展示，在此之前需要您允许我们获取您的设备相机/摄像头权限和图片保存地址。您理解并同意，上述设备服务需要您在触发相应功能进行设置开启权限，才进行折现权限所涉及信息的收集和使用。您可在您的设备设置中逐项查看上述权限的状态，并可自行决定折现权限随时的开启或关闭。请您注意，您开启任一权限即代表您授权我们可以收集和使用相关个人信息来为您提供对应服务，您一旦关闭任一权限即代表您取消了授权，我们将不再基于对应权限继续收集和使用相关个人信息，也无法为您提供该权限所对应的服务。但是，您关闭权限的决定不会影响此前基于您的授权所进行的信息收集及使用。</p><p id="1179052776#z224e1t_38">5、帮助您完成支付、及时了解订单等信息动态</p><p id="1179052776#z224e1t_39">为购买游戏的增值服务，您需要选择支付方式并提供相应支付账号，我们会记录您的订单号、订单交易金额信息、订单状态与您选择的付款方式。</p><p id="1179052776#z224e1t_40">为使我们及时获悉并确认您的支付进度及状态，为您提供售后及争议解决服务，您同意我们可自您选择的交易对象、支付方式所对应的支付机构处收集与支付账号、支付进度相关的信息。在订单处理过程中，我们可能会给您推送与订单相关的系统通知，方便您及时了解订单动态。</p><p id="1179052776#z224e1t_41">另外，我们会不定期开展运营活动，为及时通知到各位用户，我们可能会给您推送系统通知。在此之前需要您允许我们获取您的设备系统通知权限。</p><p id="1179052776#z224e1t_42">6、为您提供账号登录，售后等服务</p><p id="1179052776#z224e1t_43">（1）在您使用我们产品时，需要您提供手机号码作为登录凭证。另外，当您对我们的产品及/或服务产生疑问时，可随时联系客服进行处理，此时也需要您提供手机号码作为联系客服的方式。</p><p id="1179052776#z224e1t_44">（2）授权登录：我们经您同意后提供您的账户信息，使您可以便捷地实现登录账户。我们将在您单独同意的授权范围内使用您的相关信息。</p><p id="1179052776#z224e1t_45">7、实名认证</p><p id="1179052776#z224e1t_46">根据国家相关法律法规、部门规章，严格落实网络游戏未成年人防沉迷系统要求，在APP购买虚拟商品或进入游戏里面体验游戏，您需要提供您的真实身份信息（真实姓名、身份证号码）以完成实名验证。这些信息属于个人敏感信息，您可以拒绝提供，但您将可能无法获得相关服务，但不影响其他功能与服务的正常使用。（信息已加密保存）</p><p id="1179052776#z224e1t_47">8、第三方SDK接入要求</p><p id="1179052776#z224e1t_48">为保障App相关功能的实现，我们会接入由第三方提供的软件开发包（SDK）实现相关功能。我们对涉及用户信息使用的SDK相关情况进行了逐项列举详见《App接入第三方SDK目录》。</p><p id="1179052776#z224e1t_49">9、您对个人信息的管理</p><p id="1179052776#z224e1t_50">（1）您有权访问、修改、删除您的个人信息；您应当保证您所提供的全部信息均系真实、有效、合法、准确的信息，且均是您本人的信息。您对于相关信息的删除或修改，可能会影响您对相关产品或服务的使用或导致部分功能无法实现。访问、更正、删除的路径一般为：进入具体产品后，点击&ldquo;我&rdquo;，登录后可访问、查看、修改或删除您的账号内信息。您访问、修改和删除个人信息的范围和方式将主要取决于您使用的具体产品和服务。访问、更正、删除的具体路径以页面提示为准。</p><p id="1179052776#z224e1t_51">（2）您有权改变您授权同意的范围或撤回您的授权；您可以通过1）删除信息、2）关闭设备功能、3）在具体产品的网站或软件&ldquo;设置&rdquo;中进行隐私设置从而改变您授权继续收集个人信息的范围或撤回您的授权。您也可以通过注销账户的方式，撤回、撤销继续收集您个人信息的授权。但，您知晓并理解，即便您申请撤回了继续收集您个人信息的授权，根据相关法律规定，您的相关商品和服务信息、交易记录自完成之日起在本平台后台保存不少于三年，就您使用服务留存相关的网络日志不少于六个月。但请您知悉，我们将严格按照相关法律的要求保存您的信息。请您理解，每个业务功能需要一些基本的个人信息才能得以完成，当您撤回同意或授权后，无法继续为您提供撤回同意或授权所对应的服务。但您撤回同意或授权的决定，不会影响此前基于您的授权而开展的个人信息处理。</p><p id="1179052776#z224e1t_52">（3）注销账户：您可以通过具体产品或服务设置界面中所公布的注销方式或通过第（6）条所列联系方式申请注销相关产品账户。您注销账户后，本平台将停止为您提供与账号相关的产品或服务功能，并将删除或匿名化处理您的个人信息，除法律法规另有规定或您另有要求外。</p><p id="1179052776#z224e1t_53">（4）将采取适当的技术手段，保证您对于自己的个人资料可进行查询、补充、更正或删除，或通过相关产品或服务发布的反馈或投诉渠道申请对相关信息进行补充、更正或删除；收到您的申请后将按流程（如可能会要求您提供相关证明，以确认您的身份）予以处理。请您理解，由于技术所限、法律或监管要求，我们可能无法满足您的所有要求，我们会在合理的期限内答复您的请求。</p><p id="1179052776#z224e1t_54">（5）如果您无法访问、更正或删除您的个人信息，或您需要访问、更正或删除您在使用产品与/或服务时所产生的其他个人信息，或您认为存在任何违反法律法规或与您关于个人信息的收集或使用的约定，您可通过第九条所列方式与我们联系。</p><p id="1179052776#z224e1t_55">（6）个人信息保护负责人的联系方式 86131452@qq.com 邮箱。您有任何关于个人信息保护方面的问题，可以通过前述邮箱与我们联系，我们会在法律规定的范围内及时处理反馈。</p><p id="1179052776#z224e1t_56">10 积分兑换功能</p><p id="1179052776#z224e1t_57">当您在积分商城等相关的产品及/或服务中兑换具体商品及/或服务时，我们会通过系统为您生成兑换商品及/或服务的订单。在兑换过程中，需要您向我们提供或允许我们收集的必要信息包括您的收货人姓名、收货人联系电话、收件地址。我们用于帮助您顺利完成交易、保障您的交易安全、便于您查询订单信息、提供客服与售后服务及其他我们明确告知的目的。</p><p id="1179052776#z224e1t_58">（三）为您提供安全保障</p><p id="1179052776#z224e1t_59">请注意，为确保用户身份真实性、向您提供更好的安全保障，您可以向我们提供身份证个人敏感信息完成实名认证。如您拒绝提供上述信息，可能无法使用需要完成实名认证后才能提供的附加服务，但不会影响您使用浏览、搜索等基础服务。为提高您使用我们及我们关联公司、合作伙伴提供产品或服务的安全性，保护您或其他用户或公众的人身财产安全免遭侵害，更好地预防钓鱼网站、欺诈、网络漏洞、计算机病毒、网络攻击、网络侵入等安全风险，更准确地识别违反法律法规或本产品相关协议规则的情况，我们可能使用或整合您的用户信息、行为信息、设备信息、有关网络日志以及我们关联公司、合作伙伴取得您授权或依据法律共享的信息，来综合判断您账号状态及交易风险、进行身份验证、检测及防范安全事件，并依法采取必要的记录、审计、分析、处置措施。</p><p id="1179052776#z224e1t_60">（四）其他用途</p><p id="1179052776#z224e1t_61">（1）参与我们的调查及活动：我们将不定期地举办有关我们产品和服务的调查，或者围绕运营需要举办促销及抽奖活动，如果您在参与此类调查或活动时需要提供超过本政策许可的个人敏感信息，我们会事先征求您的同意。</p><p id="1179052776#z224e1t_62">（2）我们将信息用于本政策未载明的其他用途，或者将基于特定目的收集而来的信息用于其他目的时，会事先征求您的同意。</p><p id="1179052776#z224e1t_63">（五）征得授权同意的例外</p><p id="1179052776#z224e1t_64">根据相关法律法规规定，以下情形中收集您的个人信息无需征得您的授权同意：</p><p id="1179052776#z224e1t_65">1、与国家安全、国防安全有关的；</p><p id="1179052776#z224e1t_66">2、与公共安全、公共卫生、重大公共利益有关的；</p><p id="1179052776#z224e1t_67">3、与犯罪侦查、起诉、审判和判决执行等有关的；</p><p id="1179052776#z224e1t_68">4、出于维护个人信息主体或其他个人的生命、财产等重大合法权益但又很难得到您本人同意的；</p><p id="1179052776#z224e1t_69">5、所收集的个人信息是您自行向社会公众公开的；</p><p id="1179052776#z224e1t_70">6、从合法公开披露的信息中收集个人信息的，如合法的新闻报道、政府信息公开等渠道；</p><p id="1179052776#z224e1t_71">7、根据您的要求签订合同所必需的；</p><p id="1179052776#z224e1t_72">8、学术研究机构基于公共利益开展统计或学术研究所必要，且对外提供学术研究或描述的结果时，对结果中所包含的个人信息进行去标识化处理的；</p><p id="1179052776#z224e1t_73">9、法律法规规定的其他情形。</p><p id="1179052776#z224e1t_74">如我们停止运营本产品的功能或服务，我们将及时停止继续收集您个人信息的活动，将停止运营信息以通知或公告的形式通知您，对所持有的个人信息进行删除或匿名化处理。</p><p id="1179052776#z224e1t_75">二、我们如何使用 Cookie 和同类技术 Cookie和同类技术是互联网中的通用常用技术。当您使用我们的游戏产品或服务时，我们可能会使用相关技术向您的设备发送一个或多个Cookie或匿名标识符，以收集和存储您访问、使用游戏产品的信息。</p><p id="1179052776#z224e1t_76">1、保障游戏产品与服务的安全、高效运转</p><p id="1179052776#z224e1t_77">我们可能会认证与保障安全性的Cookie或匿名标识符，是我们确认您是否安全登录服务，或者是否遇到盗用、欺诈等不法行为。这些技术还会帮助我们改进服务效率，提升登录和响应速度。</p><p id="1179052776#z224e1t_78">2、帮助您获得更轻松的访问体验</p><p id="1179052776#z224e1t_79">使用此类技术可以帮助您省去重复填写个人信息、输入搜索内容的步骤和流程（例如：实现一键登录流程、记录搜索历史）。</p><p id="1179052776#z224e1t_80">3、为您推荐、展示、推送您可能感兴趣的内容</p><p id="1179052776#z224e1t_81">a. 我们可能会利用 Cookie或同类技术了解您的偏好和使用习惯，进行咨询或数据分析，以改善游戏产品服务及用户体验，并优化您对广告的选择。</p><p id="1179052776#z224e1t_82">b.我们可能会有广告商或其他合作方放置的cookies。这些cookies可能会收集与您相关的非个人身份信息，以用于分析如何使用该等服务、向您发送您可能感兴趣的广告，或用于评估广告服务的效果。这些第三方cookies收集和使用该等信息，不受本隐私政策约束，而是受相关使用者的隐私政策约束，我们不对第三方的cookies承担责任。</p><p id="1179052776#z224e1t_83">您可以通过浏览器设置拒绝或管理cookies。但请注意，如果停用cookies，您有可能无法享受佳的服务体验，某些服务也可能无法正常使用。同时，您可能还会收到同样数量的广告，但这些广告与您的相关性会降低。</p><p id="1179052776#z224e1t_84">请您了解，我们不会将Cookie用于本隐私政策所述目的之外的任何其他用途。</p><p id="1179052776#z224e1t_85">三、我们如何共享、转让、公开披露您的个人信息 （一）共享 我们不会与本产品服务提供者以外的公司、组织和个人共享您的个人信息，但以下情况除外：</p><p id="1179052776#z224e1t_86">1、在获取明确同意的情况下共享：获得您的明确同意后，我们会与其他方共享您的个人信息。</p><p id="1179052776#z224e1t_87">2、在法定情形下的共享：我们可能会根据法律法规规定、诉讼争议解决需要，或按行政、司法机关依法提出的要求，对外共享您的个人信息。</p><p id="1179052776#z224e1t_88">3、与关联公司间共享：为便于我们基于关联账号共同向您提供服务，保护本产品或服务提供者的关联公司或其他用户或公众的人身财产安全免遭侵害，您的个人信息可能会与我们的关联公司共享。我们只会共享必要的个人信息（如为便于您使用我们账号使用我们关联公司产品或服务，我们会向关联公司共享您必要的账户信息），如果我们共享您的个人敏感信息或关联公司改变个人信息的使用及处理目的，将再次征求您的授权同意。</p><p id="1179052776#z224e1t_89">4、与授权合作伙伴共享：仅为实现本隐私权政策中声明的目的，我们的某些服务将由我们和授权合作伙伴共同提供。我们可能会与合作伙伴共享您的某些个人信息，以提供更好的客户服务和用户体验。我们仅会出于合法、正当、必要、特定、明确的目的共享您的个人信息，并且只会共享提供服务所必要的个人信息。我们的合作伙伴无权将共享的个人信息用于与产品或服务无关的其他用途。 目前，我们的授权合作伙伴包括以下类型：</p><p id="1179052776#z224e1t_90">a.供应商、服务提供商和其他合作伙伴。 我们可能将信息发送给支持我们业务的供应商、服务提供商和其他合作伙伴，这些支持包括提供技术基础设施服务、提供产品内或产品链接后的功能型服务，分析我们服务的使用方式、衡量广告和服务的有效性、提供客户服务和调查。</p><p id="1179052776#z224e1t_91">b.广告、分析服务类的授权合作伙伴。</p><p id="1179052776#z224e1t_92">未经您的授权，我们不会将您的个人信息与提供广告、分析服务的合作伙伴共享。但我们可能会将使用您信息而形成的用户画像与提供广告、分析服务的合作伙伴共享，以帮助其在不识别您个人的前提下提升广告及服务信息的有效触达率。</p><p id="1179052776#z224e1t_93">c.金融、征信服务等其他合作伙伴。</p><p id="1179052776#z224e1t_94">根据您与相关合作伙伴签订的协议或文件，或基于法律法规、法律程序的要求或强制性的政府要求或司法裁定，或金融、征信审查等机构的合法需求，对您的个人信息进行综合统计、分析或加工等处理，并将数据结果分享给合作伙伴，用于判定您的资信状况，筛选优质用户或降低信贷坏账等。</p><p id="1179052776#z224e1t_95">对我们与之共享个人信息的公司、组织和个人，我们会与其签署严格的数据保护协定，要求他们按照我们的说明、本隐私权政策以及其他任何相关的保密和安全措施来处理个人信息。</p><p id="1179052776#z224e1t_96">（二）转让</p><p id="1179052776#z224e1t_97">我们不会将您的个人信息转让给任何公司、组织和个人，但以下情况除外：</p><p id="1179052776#z224e1t_98">（1）在获取明确同意的情况下转让：获得您的明确同意后，我们会向其他方转让您的个人信息；</p><p id="1179052776#z224e1t_99">（2）在本产品服务提供者发生合并、收购或破产清算情形，或其他涉及合并、收购或破产清算情形时，如涉及到个人信息转让，我们会要求新的持有您个人信息的公司、组织继续受本政策的约束，否则我们将要求该公司、组织和个人重新向您征求授权同意。</p><p id="1179052776#z224e1t_100">（三）公开披露我们仅会在以下情况下，公开披露您的个人信息：</p><p id="1179052776#z224e1t_101">（1）获得您明确同意或基于您的主动选择，我们可能会公开披露您的个人信息；</p><p id="1179052776#z224e1t_102">（2）如果我们确定您出现违反法律法规或严重违反本产品相关协议规则的情况，或为保护本产品及其关联公司用户或公众的人身财产安全免遭侵害，我们可能依据法律法规或本产品相关协议规则征得您同意的情况下披露关于您的个人信息，包括相关违规行为以及本产品已对您采取的措施。</p><p id="1179052776#z224e1t_103">（四）共享、转让、公开披露个人信息时事先征得授权同意的例外以下情形中，共享、转让、公开披露您的个人信息无需事先征得您的授权同意：</p><p id="1179052776#z224e1t_104">1、与国家安全、国防安全有关的；</p><p id="1179052776#z224e1t_105">2、与公共安全、公共卫生、重大公共利益有关的；</p><p id="1179052776#z224e1t_106">3、与犯罪侦查、起诉、审判和判决执行等有关的；</p><p id="1179052776#z224e1t_107">4、出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的；</p><p id="1179052776#z224e1t_108">5、您自行向社会公众公开的个人信息；</p><p id="1179052776#z224e1t_109">6、从合法公开披露的信息中收集个人信息的，如合法的新闻报道、政府信息公开等渠道。</p><p id="1179052776#z224e1t_110">根据法律规定，共享、转让经去标识化处理的个人信息，且确保数据接收方无法复原并重新识别个人信息主体的，不属于个人信息的对外共享、转让及公开披露行为，对此类数据的保存及处理将无需另行向您通知并征得您的同意。</p><p id="1179052776#z224e1t_111">四、我们如何保护您的个人信息安全 （1）本产品会采取适当的符合业界标准的安全措施和技术手段存储和保护您的个人信息，以防止其丢失、被误用、受到未授权访问或泄漏、被篡改或毁坏，如通过网络安全层技术SSL进行加密传输、信息加密存储、严格限制数据中心的访问、使用专用网络通道及网络代理。您的个人信息存放在有密码控制的服务器中，访问均是受到限制的。</p><p id="1179052776#z224e1t_112">（2）我们设立了个人信息保护责任部门，建立了相关内控制度，对可能接触到您的信息的工作人员采用最小够用授权原则。即我们仅允许有必要知晓这些信息的本产品和其关联公司的员工在采取合理的措施验证身份之后，访问或修改这些信息。同时，我们会严格要求他们履行保密及安全义务，如果未能履行这些义务，其会被追究法律责任或被终止与本产品的合作关系。</p><p id="1179052776#z224e1t_113">（3）为了保护您的信息安全，如果用户个人信息有误，本产品会在严格验证并核实申请人身份后，根据用户要求访问、修正或删除相关信息（除非本产品出于合法的原因而必须保留这些个人信息）。</p><p id="1179052776#z224e1t_114">（4）我们会采取合理可行的措施，尽力避免收集无关的个人信息。我们只会在达成本政策所述目的所需的期限内保留您的个人信息，除非需要延长保留期或受到法律的允许。</p><p id="1179052776#z224e1t_115">（5）互联网并非绝对安全的环境，电子邮件、即时通讯、社交软件、交易平台等与其他用户的交流方式无法确定是否完全加密，请您在进行交互使用时，注意保护您个人信息的安全。</p><p id="1179052776#z224e1t_116">（6）请您理解，由于计算机及互联网技术的飞速发展及同步速度的限制，可能存在或出现各种恶意或非恶意的攻击手段。虽然本产品持续致力于提升和加强安全措施，以保护您的信息免遭意外或破坏，但仍无法始终保证信息的百分之百安全。</p><p id="1179052776#z224e1t_117">（7）您使用产品或服务时所用的系统和通讯网络，或硬件设备等本产品均无法控制，请您了解并注意保护您的个人信息安全。</p><p id="1179052776#z224e1t_118">（8）请注意，您在使用我们产品和服务时自愿共享甚至公开分享的信息，可能会涉及您或他人的个人信息甚至个人敏感信息，如您在评价时选择上传包含个人信息的图片。请您更加谨慎地考虑，是否在使用我们的服务时共享甚至公开分享相关信息。</p><p id="1179052776#z224e1t_119">（9）请使用复杂密码，协助我们保证您的账号安全。我们将尽力保障您发送给我们的任何信息的安全性。如果我们的物理、技术或管理防护设施遭到破坏，导致信息被非授权访问、公开披露、篡改或毁坏，导致您的合法权益受损，我们将承担相应的法律责任。</p><p id="1179052776#z224e1t_120">（10）在不幸发生个人信息安全事件后，我们将按照法律法规的要求向您告知：安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。事件相关情况我们将以邮件、信函、电话、推送通知等方式告知您，难以逐一告知个人信息主体时，我们会采取合理、有效的方式发布公告。</p><p id="1179052776#z224e1t_121">同时，我们还将按照监管部门要求，上报个人信息安全事件的处置情况。</p><p id="1179052776#z224e1t_122">五、您如何管理您的个人信息 您可以通过以下方式访问及管理您的个人信息： （一）访问您的个人信息 您有权访问您的个人信息，法律法规规定的例外情况除外。您可以通过以下方式自行访问您的个人信息： 账户信息&mdash;&mdash;如果您希望访问或编辑您的账户中的个人基本资料信息，您可以通过登录您的账号执行此类操作。</p><p id="1179052776#z224e1t_123">（二）改变您授权同意的范围</p><p id="1179052776#z224e1t_124">每个业务功能需要一些基本的个人信息才能得以完成（见本隐私权政策&ldquo;第二部分&rdquo;）。除此之外，您可以通过解除绑定、修改个人设置、删除相关信息等方式撤回部分授权，也可以通过关闭功能的方式撤销部分授权。 当您收回同意后，我们将不再处理相应的个人信息。但您收回同意的决定，不会影响此前基于您的授权而开展的个人信息处理。</p><p id="1179052776#z224e1t_125">（三）约束信息系统自动决策 在某些业务功能中，我们可能仅依据信息系统、算法等在内的非人工自动决策机制做出决定。如果这些决定显著影响您的合法权益，您有权要求我们做出解释，我们也将在不侵害本产品商业秘密或其他用户权益、社会公共利益的前提下提供申诉方法。</p><p id="1179052776#z224e1t_126">六、我们如何处理未成年人的个人信息 （1）我们非常重视对未成年人个人信息的保护。我们会积极按照国家防沉迷政策要求，通过启用防沉迷系统保护未成年人的合法权益。</p><p id="1179052776#z224e1t_127">（2）如果没有父母或监护人的同意，未成年人不得创建自己的用户账户。如您为未成年人的，建议您请您的父母或监护人仔细阅读本隐私权政策，并在征得您的父母或监护人同意的前提下使用我们的服务或向我们提供信息。</p><p id="1179052776#z224e1t_128">（3）对于经父母或监护人同意使用我们的产品或服务而收集未成年人个人信息的情况，我们只会在法律法规允许、父母或监护人明确同意或者保护未成年人所必要的情况下使用、共享、转让或披露此信息。</p><p id="1179052776#z224e1t_129">七、您的个人信息如何在全球范围转移，我们在中华人民共和国境内运营中收集和产生的个人信息，存储在中国境内，以下情形除外： 1、法律法规有明确规定；</p><p id="1179052776#z224e1t_130">2、获得您的明确授权；</p><p id="1179052776#z224e1t_131">3、您通过互联网进行跨境交易等个人主动行为。 针对以上情形，我们会确保依据本隐私权政策对您的个人信息提供足够的保护。</p><p id="1179052776#z224e1t_132">八、本隐私权政策如何更新 我们的隐私权政策可能变更。 （1）未经您明确同意，我们不会限制您按照本隐私权政策所应享有的权利。我们会在专门页面上发布对隐私权政策所做的任何变更。</p><p id="1179052776#z224e1t_133">（2）对于重大变更，我们还会提供更为显著的通知（包括我们会通过网站公示的方式进行通知甚至向您提供弹窗提示）。</p><p id="1179052776#z224e1t_134">本政策所指的重大变更包括但不限于：</p><p id="1179052776#z224e1t_135">1、我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等；</p><p id="1179052776#z224e1t_136">2、我们在控制权等方面发生重大变化。如并购重组等引起的所有者变更等；</p><p id="1179052776#z224e1t_137">3、个人信息共享、转让或公开披露的主要对象发生变化；</p><p id="1179052776#z224e1t_138">4、您参与个人信息处理方面的权利及其行使方式发生重大变化；</p><p id="1179052776#z224e1t_139">5、我们负责处理个人信息安全的责任部门、联络方式及投诉渠道发生变化时；</p><p id="1179052776#z224e1t_140">6、个人信息安全影响评估报告表明存在高风险时。</p><p id="1179052776#z224e1t_141">九、如何联系我们 您可以通过以下方式与我们联系，我们将在15个工作日内回复您的请求： （1）如对本政策内容有任何疑问、意见或建议，您也可以通过如下书面邮件或者电子邮件的形式联系我们：</p><p id="1179052776#z224e1t_142">公司名字 北京开源纵横网络科技有限公司</p><p id="1179052776#z224e1t_143">联系部门：公共安全部</p><p id="1179052776#z224e1t_144">地址：北京市通州区新华西街58号院3号楼13层1317</p><p id="1179052776#z224e1t_145">邮政编码：10010</p><p id="1179052776#z224e1t_146">联系电话：4008609305</p><p id="1179052776#z224e1t_147">电子邮箱：86131452@qq.com</p><p id="1179052776#z224e1t_148">（2）如果您对我们的回复不满意，特别是您认为我们的个人信息处理行为损害了您的合法权益，您还可以通过向互联网法院提起诉讼来寻求解决方案。</p><p id="1179052776#z224e1t_149">《App接入第三方SDK目录》 为保障App相关功能的实现与应用安全稳定的运行，我们可能会接入由第三方提供的软件开发包(SDK)实现相关目的。 我们会对合作方获取信息的软件工具开发包(SDK)进行严格的安全监测,以保护数据安全。 我们对接入的相关第三方SDK在目录中列明。 请注意,第三方SDK可能因为其版本升级、策略调整等原因导致数据处理类型存在一定变化，请以其公示的官方说明为准。</p><p id="1179052776#z224e1t_150">极光安全认证SDK</p><p id="1179052776#z224e1t_151">SDK 用途：为APP 用户提供一键登录、号码验证、安全校验服务</p><p id="1179052776#z224e1t_152">处理个人信息类型：设备标识符（包括IMEI、IDFA、Android ID、GAID、MAC、OAID、IMSI、MEID、UAID、ICCID ）、设备硬件信息（包括设备型号、设备屏幕分辨率、设备硬件制造商、设备产品名称）、操作系统信息（包括操作系统版本、系统名称、系统语言）、网络信息（包括网络类型、运营商名称、基站信息、IP地址、WiFi信息、SSID、BSSID）、精确位置信息、软件列表信息（包括软件列表及软件运行列表信息）、设备序列号。</p><p id="1179052776#z224e1t_153">数据处理方式：通过去标识化、加密传输及其他安全方式</p><p id="1179052776#z224e1t_154">第三方主体：深圳市和讯华谷信息技术有限公司</p><p id="1179052776#z224e1t_155">隐私政策链接：https://www.jiguang.cn/license/privacy</p><p id="1179052776#z224e1t_156">官网链接：https://www.jiguang.cn</p><p id="1179052776#z224e1t_157">微信支付SDK</p><p id="1179052776#z224e1t_158">涉及个人信息：设备标识符（Android如IMEI、Android ID、Serial）、MAC地址、WLAN接入点</p><p id="1179052776#z224e1t_159">使用目的：帮助用户在应用内使用微信支付</p><p id="1179052776#z224e1t_160">使用场景：在用户使用微信支付时使用</p><p id="1179052776#z224e1t_161">合作方主体：财富通支付科技有限公司</p><p id="1179052776#z224e1t_162">数据类型：设备标识信息</p><p id="1179052776#z224e1t_163">合作方官网链接：https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/index.shtml</p><p id="1179052776#z224e1t_164">合作方隐私政策：https://www.tenpay.com/v3/helpcenter/low/privacy.shtml</p><p id="1179052776#z224e1t_165">腾讯buglySDK</p><p id="1179052776#z224e1t_166">涉及个人信息：设备标识符（Android如IMEI、Android ID、Serial、厂商系统版、安卓系统api等级等）、MAC地址、WLAN接入点</p><p id="1179052776#z224e1t_167">使用目的：统计分析，应用异常上报</p><p id="1179052776#z224e1t_168">使用场景：当用户使用本产品过程中出现异常时</p><p id="1179052776#z224e1t_169">合作方主体：深圳市腾讯计算机系统有限公司</p><p id="1179052776#z224e1t_170">数据类型：设备标识信息</p><p id="1179052776#z224e1t_171">合作方官网链接：https://bugly.qq.com/v2/index</p><p id="1179052776#z224e1t_172">合作方隐私政策：https://privacy.qq.com/document/preview/fc748b3d96224fdb825ea79e132c1a56</p><p id="1179052776#z224e1t_173">移动安全联盟oaid</p><p id="1179052776#z224e1t_174">涉及个人信息：设备信息OAID、设备制造商、设备型号、设备品牌、设备网络运营商名称、App包名及签名信息，或在对应应用商店的APPID</p><p id="1179052776#z224e1t_175">使用目的：隐私安全</p><p id="1179052776#z224e1t_176">使用场景：用户使用本产品时</p><p id="1179052776#z224e1t_177">合作方主体：中国信息通信研究院</p><p id="1179052776#z224e1t_178">数据类型：设备标识信息</p><p id="1179052776#z224e1t_179">合作方官网链接：http://www.msa-alliance.cn/</p><p id="1179052776#z224e1t_180">合作方隐私政策：http://www.msa-alliance.cn/col.jsp?id=122</p><p id="1179052776#z224e1t_181">巨量引擎投放SDK</p><p id="1179052776#z224e1t_182">涉及个人信息：设备标识符（Android如IMEI、Android ID、IMSI、ICCID、MEID，iOS如IDFV）、MAC地址、IP地址、位置信息（如GPS、WLAN接入点、蓝牙）、分享图片或内容、应用列表、设备传感器</p><p id="1179052776#z224e1t_183">使用目的：用于应用投放</p><p id="1179052776#z224e1t_184">使用场景：用户在本产品内激活、注册、付费时</p><p id="1179052776#z224e1t_185">合作方主体：北京巨量引擎网络技术有限公司</p><p id="1179052776#z224e1t_186">数据类型：设备标识信息</p><p id="1179052776#z224e1t_187">合作方官网链接：https://www.oceanengine.com/</p><p id="1179052776#z224e1t_188">合作方隐私政策：https://www.oceanengine.com/extra/legal</p><p id="1179052776#z224e1t_189">QQ分享SDK</p><p id="1179052776#z224e1t_190">涉及个人信息：设备标识符（Android如IMEI、Android ID、IMSI、ICCID、MEID，iOS如IDFV）、MAC地址、IP地址、位置信息（如GPS、WLAN接入点、蓝牙）、分享图片或内容、应用列表、设备传感器</p><p id="1179052776#z224e1t_191">使用目的：帮助用户分享内容至第三方应用</p><p id="1179052776#z224e1t_192">使用场景：在用户使用QQ登录和分享时使用</p><p id="1179052776#z224e1t_193">合作方主体：深圳市腾讯计算机系统有限公司</p><p id="1179052776#z224e1t_194">数据类型：设备标识信息</p><p id="1179052776#z224e1t_195">合作方官网链接：https://open.tencent.com/</p><p id="1179052776#z224e1t_196">合作方隐私政策：https://wiki.connect.qq.com/qq%e4%ba%92%e8%81%94sdk%e9%9a%90%e7%a7%81%e4%bf%9d%e6%8a%a4%e5%a3%b0%e6%98%8e</p><p id="1179052776#z224e1t_197">SDK名称：友盟智能认证SDK</p><p id="1179052776#z224e1t_198">使用目的：提供手机号码一键登录服务</p><p id="1179052776#z224e1t_199">运营方：友盟同欣（北京）科技有限公司</p><p id="1179052776#z224e1t_200">收集个人信息类型：设备信息（Android ID/IDFA/OAID/OpenUDID/GUID；可选-IMEI/IMSI/ICCID）、网络信息</p><p id="1179052776#z224e1t_201">隐私权政策链接：https://www.umeng.com/page/policy</p><p id="1179052776#z224e1t_202">合作方官网链接：https://www.umeng.com/</p></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-1419588018">九四玩SDK合规使用说明</h1><p id="-1419588018#z8kg83f_3">根据《个人信息保护法》、《数据安全法》、《网络安全法》等法律法规和监管部门规章要求，App开发运营者（以下简称为&ldquo;开发者&rdquo;）在提供网络产品服务时应尊重和保护最终用户的个人信息，不得违法违规收集使用个人信息。为帮助开发者在使用九四玩SDK的过程中更好地落实用户个人信息保护相关要求，避免出现侵害最终用户个人信息权益的情形，特制定本合规使用说明。</p><p id="-1419588018#z8kg83f_4">一、个人信息保护合规基本要求 在所开发的移动应用中集成并使用九四玩SDK，您需要首先遵守以下个人信息保护合规基本要求：</p><p id="-1419588018#z8kg83f_5">您应遵守收集、使用最终用户个人信息有关的所有可适用法律法规及规范性文件要求，包括但不限于《网络安全法》、《App违法违规收集使用个人信息行为认定方法》、《消费者权益保护法》、《信息安全技术 个人信息安全规范》、《工业和信息化部关于开展APP侵害用户权益专项整治工作的通知》（工信部信管函［2019］337号）、《工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知》（工信部信管函〔2020〕164号）等，保护用户个人信息安全。</p><p id="-1419588018#z8kg83f_6">您应将在移动应用中集成并使用九四玩SDK服务的情况，以及九四玩SDK对最终用户必要个人信息的收集、使用和保护规则（具体请见九四玩SDK隐私政策，您需要根据您使用的SDK产品适用对应的隐私政策），在移动应用的显著位置或以其他可触达最终用户的方式告知最终用户（具体请参考本指引第二部分 &ldquo;如何告知最终用户&rdquo;及第三部分&ldquo;告知文案示例&rdquo;），并获得最终用户对于九四玩SDK收集、使用最终用户相关个人信息的完整、合法、在使用九四玩SDK服务期间持续有效的授权同意。如果最终用户是未满14周岁的未成年人，请您务必确保获得最终用户的父母或其他监护人对于九四玩SDK收集、使用最终用户相关个人信息的完整、合法、在使用九四玩SDK服务期间持续有效的授权同意。</p><p id="-1419588018#z8kg83f_7">您应向最终用户提供易于操作的访问、更正、删除其个人信息，撤销或更改其授权同意、注销其个人账号等用户权利实现机制。</p><p id="-1419588018#z8kg83f_8">您应确保在移动应用首次运行时，应在最终用户阅读并同意移动应用隐私政策之后，方可初始化九四玩SDK进行最终用户信息采集。</p><p id="-1419588018#z8kg83f_9">除了上述个人信息保护合规基本要求外，您还应遵守您所开发的移动应用所集成并使用的九四玩SDK产品对应的隐私政策。</p><p id="-1419588018#z8kg83f_10">二、如何告知最终用户 为帮助您明确地告知最终用户九四玩SDK个人信息收集、使用和保护相关事宜，我们为您提供了以下告知方式，供您参考执行：</p><p id="-1419588018#z8kg83f_11">在移动应用隐私政策中&ldquo;个人信息共享&rdquo;条款部分或&ldquo;所集成的第三方SDK&rdquo;条款部分告知最终用户相应功能/服务由九四玩SDK提供，并显示相应九四玩SDK隐私政策链接以告知最终用户，九四玩SDK收集、使用的最终用户个人信息类型、目的及用途。移动应用隐私政策在用户首次打开移动应用或者在移动应用的注册/登记界面通过协议在线展示的方式向用户展示，并获得最终用户明示同意（如：点击&ldquo;同意&rdquo;，或勾选&ldquo;&radic;&rdquo;）。</p><p id="-1419588018#z8kg83f_12">在移动应用隐私政策中&ldquo;个人信息共享&rdquo;条款部分或&ldquo;所集成的第三方SDK&rdquo;条款部分告知最终用户相应功能/服务由九四玩SDK提供，并参考相应九四玩SDK隐私政策内容，以条款或表格等形式列明收集、使用的最终用户个人信息类型、目的及用途。移动应用隐私政策在用户首次打开移动应用或者在移动应用的注册/登记界面通过协议在线展示的方式向用户展示，并获得最终用户明示同意（如：点击&ldquo;同意&rdquo;，或勾选&ldquo;&radic;&rdquo;）。</p><p id="-1419588018#z8kg83f_13">当最终用户在移动应用中首次打开/使用相应功能/服务时，以弹窗、页面提示方式显示相应九四玩SDK隐私政策链接，以告知最终用户相应功能/服务由九四玩SDK提供，九四玩SDK为提供相应功能/服务而收集、使用的最终用户个人信息类型、目的及用途，并获得最终用户明示同意（如：点击&ldquo;同意&rdquo;，或勾选&ldquo;&radic;&rdquo;）。</p><p id="-1419588018#z8kg83f_14">三、告知文案示例 为帮助您明确地告知最终用户九四玩SDK个人信息保护规则相关事宜，我们为您提供了以下告知方文案示例，供您参考执行：</p><p id="-1419588018#z8kg83f_15">3.1 文案示例A</p><p id="-1419588018#z8kg83f_16">为向您提供【功能或服务描述】功能/服务，我们集成了【产品名称】SDK。在为您提供【功能或服务描述】功能/服务时，【产品名称】SDK需要收集、使用您必要的个人信息。关于【产品名称】SDK收集、使用的个人信息类型、目的及用途，以及【产品名称】SDK将如何保护所收集、使用的个人信息，请您仔细阅读《【产品名称】SDK隐私政策》（附跳转链接）了解。</p><p id="-1419588018#z8kg83f_17">3.2 文案示例B</p><p id="-1419588018#z8kg83f_18">为保障App相关功能的实现，我们可能会接入由第三方提供的SDK实现相关目的，具体接入的相关第三方SDK列明如下：</p><p id="-1419588018#z8kg83f_19">第三方名称：【产品名称】SDK</p><p id="-1419588018#z8kg83f_20">服务商名称：SDK主体公司名称</p><p id="-1419588018#z8kg83f_21">使用目的：为向您提供【功能或服务描述】功能/服务</p><p id="-1419588018#z8kg83f_22">使用场景：SDK使用的场景</p><p id="-1419588018#z8kg83f_23">共享方式：与SDK共享信息的方式</p><p id="-1419588018#z8kg83f_24">个人信息类型：SDK实际采集的信息类型</p><p id="-1419588018#z8kg83f_25">客户端：Android/IOS</p><p id="-1419588018#z8kg83f_26">合作方隐私政策链接/官网链接：《【产品名称】SDK隐私政策》（附跳转链接）</p><p id="-1419588018#z8kg83f_27">感谢您阅读九四玩SDK开发者个人信息保护合规指引，并欢迎您给我们提出建议！如有任何疑问，也请通过86131452@qq.com随时与我们联系！</p></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-1158489873">Android接入</h1><section class="detached"><h2 id="-1158489873#sdk" data-toc="sdk#Android接入.md-sdk">安卓SDK接入文档</h2><p id="-1158489873#favws2_8">[TOC]</p></section><section class="detached"><h2 id="-1158489873#1" data-toc="1#Android接入.md-1">1.环境接入</h2><section class="detached"><h3 id="-1158489873#1-1" data-toc="1-1#Android接入.md-1-1">1.1 引入仓库</h3><p id="-1158489873#favws2_16">并在app module级别的gradle文件中，在dependencies里引入demo的SDK</p><div class="detached code-block" id="-1158489873#favws2_17"><pre><code class="language-groovy">在allprojects的repositories中添加maven仓库
allprojects {
    repositories {
        maven {
            url 'https://artifact.bytedance.com/repository/Volcengine/'
        }
        // 其他仓库
    }
}</code></pre></div></section><section class="detached"><h3 id="-1158489873#1-2" data-toc="1-2#Android接入.md-1-2">1.2 添加资源</h3><p id="-1158489873#favws2_19">将demo中 lib 及 res 拷贝到项目对应的文件夹中</p><p id="-1158489873#favws2_20">再build.gradle 文件下引用lib的内容及巨量</p><div class="detached code-block" id="-1158489873#favws2_21"><pre><code class="language-groovy">implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
implementation 'com.bytedance.applog:RangersAppLog-Lite-cn:6.16.9'
// 巨量频繁更新 目前这个版本稳定些 暂时使用此版本
implementation 'com.bytedance.ads:AppConvert:1.3.2.1'
巨量的混淆
-keep class com.bytedance.ads.convert.broadcast.common.EncryptionTools {*;}</code></pre></div></section><section class="detached"><h3 id="-1158489873#1-3-aar" data-toc="1-3-aar#Android接入.md-1-3-aar">1.3 添加权限 （aar 中已经含有此权限）</h3><div class="detached code-block" id="-1158489873#favws2_24"><pre><code class="language-markup">网络权限
&lt;uses-permission android:name=&quot;android.permission.INTERNET&quot; /&gt;
震动权限
&lt;uses-permission android:name=&quot;android.permission.VIBRATE&quot; /&gt;
查询安装包权限
&lt;uses-permission android:name=&quot;android.permission.QUERY_ALL_PACKAGES&quot;/&gt;</code></pre></div></section><section class="detached"><h3 id="-1158489873#1-4-application" data-toc="1-4-application#Android接入.md-1-4-application">1.4 Application 初始化</h3><p id="-1158489873#favws2_26">不要忘掉这个要不会报错</p><p id="-1158489873#favws2_27">注意该application 要在AndroidManifest 注册</p><div class="detached code-block" id="-1158489873#favws2_28"><pre><code class="language-java">public class Myapp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // 加入以下方法
        KyzhSdk.init(this);
    }
}</code></pre></div></section></section><section class="detached"><h2 id="-1158489873#2-sdk" data-toc="2-sdk#Android接入.md-2-sdk">2.sdk方法接入</h2><section class="detached"><h3 id="-1158489873#2-1" data-toc="2-1#Android接入.md-2-1">2.1 初始化</h3><div class="table-wrapper detached"><table id="-1158489873#favws2_37"><tr class="header-row" id="-1158489873#favws2_39"><th id="-1158489873#favws2_45"><p>字段</p></th><th id="-1158489873#favws2_46"><p>类型</p></th><th id="-1158489873#favws2_47"><p>说明</p></th></tr><tr class="" id="-1158489873#favws2_40"><td id="-1158489873#favws2_48"><p>APP_ID</p></td><td id="-1158489873#favws2_49"><p>String</p></td><td id="-1158489873#favws2_50"><p>游戏id</p></td></tr><tr class="" id="-1158489873#favws2_41"><td id="-1158489873#favws2_51"><p>LOGIN_KEY</p></td><td id="-1158489873#favws2_52"><p>String</p></td><td id="-1158489873#favws2_53"><p>游戏key</p></td></tr><tr class="" id="-1158489873#favws2_42"><td id="-1158489873#favws2_54"><p>PAY_KEY</p></td><td id="-1158489873#favws2_55"><p>String</p></td><td id="-1158489873#favws2_56"><p>不要填写 支付key</p></td></tr><tr class="" id="-1158489873#favws2_43"><td id="-1158489873#favws2_57"><p>true(第一个true)</p></td><td id="-1158489873#favws2_58"><p>Boolean</p></td><td id="-1158489873#favws2_59"><p>是否开启初始化弹窗</p></td></tr><tr class="" id="-1158489873#favws2_44"><td id="-1158489873#favws2_60"><p>true(第二个true)</p></td><td id="-1158489873#favws2_61"><p>Boolean</p></td><td id="-1158489873#favws2_62"><p>是否显示隐私政策弹窗</p></td></tr></table></div><div class="detached code-block" id="-1158489873#favws2_38"><pre><code class="language-java">KyzhLib.init(this, APP_ID, LOGIN_KEY, &quot;&quot;, true,true, new InitListener() {
           @Override
           public void success() {
               Toast.makeText(MainActivity.this, &quot;初始化成功&quot;, Toast.LENGTH_SHORT).show();
           }

           @Override
           public void error() {

           }
       });</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-2" data-toc="2-2#Android接入.md-2-2">2.2 登录</h3><div class="table-wrapper detached"><table id="-1158489873#favws2_63"><tr class="header-row" id="-1158489873#favws2_65"><th id="-1158489873#favws2_69"><p>字段</p></th><th id="-1158489873#favws2_70"><p>类型</p></th><th id="-1158489873#favws2_71"><p>说明</p></th></tr><tr class="" id="-1158489873#favws2_66"><td id="-1158489873#favws2_72"><p>token</p></td><td id="-1158489873#favws2_73"><p>String</p></td><td id="-1158489873#favws2_74"><p>返回用户token</p></td></tr><tr class="" id="-1158489873#favws2_67"><td id="-1158489873#favws2_75"><p>uid</p></td><td id="-1158489873#favws2_76"><p>String</p></td><td id="-1158489873#favws2_77"><p>返回用户uid</p></td></tr><tr class="" id="-1158489873#favws2_68"><td id="-1158489873#favws2_78"><p>error</p></td><td id="-1158489873#favws2_79"><p>String</p></td><td id="-1158489873#favws2_80"><p>错误信息</p></td></tr></table></div><div class="detached code-block" id="-1158489873#favws2_64"><pre><code class="language-java">KyzhLib.startLogin( new AccountListener() {
               @Override
               public void success(String token, String uid) {
                   Log.e( &quot;success: &quot;,token +  &quot;   &quot;+ uid);
               }

               @Override
               public void error(String error) {
                   Log.e( &quot;success: &quot;,error );
               }
           });</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-3" data-toc="2-3#Android接入.md-2-3">2.3  切换账号</h3><p id="-1158489873#favws2_81">SDK仅关闭悬浮球 token uid 置空</p><div class="detached code-block" id="-1158489873#favws2_82"><pre><code class="language-java">///*用于切换账号  ,sdk仅关闭悬浮球  token uid 置空  */ 		
KyzhLib.setChangeAmountListener(new LogoutListener() {
            @Override
            public void success() {
                Log.e(&quot;TAG&quot;, &quot;success: &quot; );
                Toast.makeText(MainActivity.this, &quot;账号切换成功&quot;, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void error(String s) {
                Log.e(&quot;TAG&quot;, &quot;success: &quot; );
            }
        });</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-4" data-toc="2-4#Android接入.md-2-4">2.4 切换小号（可不接）</h3><p id="-1158489873#favws2_83">当setChangeSmallListener 与setChangeAmountListener 同时接入后 悬浮球点开界面只显示切换小号 当集成切换小号后 直接返回uid token 游戏方应切换游戏角色直接登录返回的角色信息</p><div class="detached code-block" id="-1158489873#favws2_84"><pre><code class="language-java">//切换小号
KyzhLib.setChangeSmallListener(new AccountListener() {
    @Override
    public void success(String token, String uid) {
        Log.e(&quot;TAG&quot;, &quot;setChangeSmallListener:uid: &quot;+uid+&quot;  Token：&quot;+token );
    }
    @Override
    public void error(String error) {
        Log.e(&quot;TAG&quot;, &quot;error: &quot;+error );
    }
});</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-5" data-toc="2-5#Android接入.md-2-5">2.5账号登出</h3><div class="detached code-block" id="-1158489873#favws2_85"><pre><code class="language-java">KyzhLib.logOut(new LogoutListener() {
    @Override
    public void success() {
        Log.e(&quot;TAG&quot;, &quot;success: &quot; );
        Toast.makeText(MainActivity.this, &quot;退出成功&quot;, Toast.LENGTH_SHORT).show();
    }
    @Override
    public void error(String error) {
        Toast.makeText(MainActivity.this, error, Toast.LENGTH_SHORT).show();
    }
});</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-6" data-toc="2-6#Android接入.md-2-6">2.6 账号注销</h3><div class="detached code-block" id="-1158489873#favws2_86"><pre><code class="language-java">/*即 删除账号   不加此方法  用户注销后会执行关闭应用操作
**/
KyzhLib.LogoffAmount(new GuestLoginListener() {
    @Override
    public void success() {
        Log.e(TAG, &quot;success: &quot; );
    }
    @Override
    public void error(String s) {
        Log.e(TAG, &quot;error: &quot;+s );
    }
});</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-7" data-toc="2-7#Android接入.md-2-7">2.7 购买</h3><div class="table-wrapper detached"><table id="-1158489873#favws2_87"><tr class="header-row" id="-1158489873#favws2_89"><th id="-1158489873#favws2_95"><p>参数</p></th><th id="-1158489873#favws2_96"><p>类型</p></th><th id="-1158489873#favws2_97"><p>说明</p></th></tr><tr class="" id="-1158489873#favws2_90"><td id="-1158489873#favws2_98"><p>cpOrderId</p></td><td id="-1158489873#favws2_99"><p>String</p></td><td id="-1158489873#favws2_100"><p>订单号</p></td></tr><tr class="" id="-1158489873#favws2_91"><td id="-1158489873#favws2_101"><p>serverId</p></td><td id="-1158489873#favws2_102"><p>String</p></td><td id="-1158489873#favws2_103"><p>服务器id</p></td></tr><tr class="" id="-1158489873#favws2_92"><td id="-1158489873#favws2_104"><p>amount</p></td><td id="-1158489873#favws2_105"><p>String</p></td><td id="-1158489873#favws2_106"><p>购买金额</p></td></tr><tr class="" id="-1158489873#favws2_93"><td id="-1158489873#favws2_107"><p>charid</p></td><td id="-1158489873#favws2_108"><p>String</p></td><td id="-1158489873#favws2_109"><p>角色id</p></td></tr><tr class="" id="-1158489873#favws2_94"><td id="-1158489873#favws2_110"><p>extinfo</p></td><td id="-1158489873#favws2_111"><p>String</p></td><td id="-1158489873#favws2_112"><p>额外信息</p></td></tr></table></div><div class="detached code-block" id="-1158489873#favws2_88"><pre><code class="language-java">KyzhLib.startPay(this,  &quot;cpOrderId&quot;, &quot;serverId&quot;, &quot;amount&quot;, &quot;charid&quot;,&quot;extinfo&quot;, new PayListener() {
   @Override
   public void success(String orderId) {
       Toast.makeText(MainActivity.this, &quot;支付成功,订单号为&quot;+orderId, Toast.LENGTH_SHORT).show();
   }

   @Override
   public void error(String error) {
       Toast.makeText(MainActivity.this, &quot;支付失败&quot;, Toast.LENGTH_SHORT).show();
   }
});</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-8" data-toc="2-8#Android接入.md-2-8">2.8 上传角色</h3><div class="table-wrapper detached"><table id="-1158489873#favws2_113"><tr class="header-row" id="-1158489873#favws2_115"><th id="-1158489873#favws2_122"><p><span class="control" id="-1158489873#favws2_125">参数名</span></p></th><th id="-1158489873#favws2_123"><p><span class="control" id="-1158489873#favws2_126">类型</span></p></th><th id="-1158489873#favws2_124"><p><span class="control" id="-1158489873#favws2_127">参数说明</span></p></th></tr><tr class="" id="-1158489873#favws2_116"><td id="-1158489873#favws2_128"><p>role_name</p></td><td id="-1158489873#favws2_129"><p>string</p></td><td id="-1158489873#favws2_130"><p>角色名称</p></td></tr><tr class="" id="-1158489873#favws2_117"><td id="-1158489873#favws2_131"><p>charId</p></td><td id="-1158489873#favws2_132"><p>string</p></td><td id="-1158489873#favws2_133"><p>角色ID</p></td></tr><tr class="" id="-1158489873#favws2_118"><td id="-1158489873#favws2_134"><p>level</p></td><td id="-1158489873#favws2_135"><p>string</p></td><td id="-1158489873#favws2_136"><p>等级 （没有传0）</p></td></tr><tr class="" id="-1158489873#favws2_119"><td id="-1158489873#favws2_137"><p>power</p></td><td id="-1158489873#favws2_138"><p>string</p></td><td id="-1158489873#favws2_139"><p>战力（没有传0）</p></td></tr><tr class="" id="-1158489873#favws2_120"><td id="-1158489873#favws2_140"><p>serverid</p></td><td id="-1158489873#favws2_141"><p>string</p></td><td id="-1158489873#favws2_142"><p>区服ID</p></td></tr><tr class="" id="-1158489873#favws2_121"><td id="-1158489873#favws2_143"><p>servername</p></td><td id="-1158489873#favws2_144"><p>string</p></td><td id="-1158489873#favws2_145"><p>区服名称</p></td></tr></table></div><div class="detached code-block" id="-1158489873#favws2_114"><pre><code class="language-java">KyzhLib.pushRoleInfo(roleName, charId, level, power, serverId, serverName, new GuestLoginListener() {
    @Override
    public void success() {
        ToastUtils.showL(KyzhPostUserInfoActivity.this,&quot;上传成功&quot;);
    }

    @Override
    public void error(String usearName) {
        ToastUtils.showL(KyzhPostUserInfoActivity.this,usearName);
    }
});</code></pre></div></section></section><section class="detached"><h2 id="-1158489873#3-0" data-toc="3-0#Android接入.md-3-0">3.0 其他</h2><section class="detached"><h3 id="-1158489873#1-application-new-application" data-toc="1-application-new-application#Android接入.md-1-application-new-application">1.部分游戏可能存在不能显示悬浮的情况可以手动调起开启关闭 （只有这些调用的    传入了假的application的上下文      或者自己new 的application）</h3><div class="detached code-block" id="-1158489873#favws2_149"><pre><code class="language-java">KyzhLib.openFloatingView(this);
KyzhLib.closeFloatingView(this);</code></pre></div></section><section class="detached"><h3 id="-1158489873#2-v1-v2-v1" data-toc="2-v1-v2-v1#Android接入.md-2-v1-v2-v1">2。. 游戏包需打v1 v2   也可以只v1 签名</h3></section><section class="detached"><h3 id="-1158489873#3-targetsdkversion-30-android-11-sdk-androidmanifest-xml" data-toc="3-targetsdkversion-30-android-11-sdk-androidmanifest-xml#Android接入.md-3-targetsdkversion-30-android-11-sdk-androidmanifest-xml">3 targetSdkVersion升级到30的第三方应用，由于Android 11 软件包可见性 特性的影响，SDK的接口可能无法正常拉起盒子，从而无法使用盒子的部分功能，需要在主工程的AndroidManifest.xml 中增加标签，代码如下：</h3><div class="detached code-block" id="-1158489873#favws2_151"><pre><code class="language-markup">&lt;manifest package=&quot;com.example.app&quot;&gt;

      // 在应用的AndroidManifest.xml添加如下&lt;queries&gt;标签
    &lt;queries&gt;
        &lt;package android:name=&quot;com.tencent.mm&quot; /&gt;
        &lt;package android:name=&quot;com.tencent.mobileqq&quot; /&gt;
 		  &lt;package android:name=&quot;a94hwan.bjkyzh.star&quot; /&gt;
        &lt;package android:name=&quot;a94hwan.bjkyzh.combo&quot; /&gt;
      
    &lt;/queries&gt;

&lt;/manifest&gt;</code></pre></div></section></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-2098247616">Ios 接入</h1><section class="detached"><h2 id="-2098247616#1-framework-bundle" data-toc="1-framework-bundle#Ios-接入.md-1-framework-bundle">1.导⼊framework⽂件及bundle资源⽂件</h2></section><section class="detached"><h2 id="-2098247616#2-embed-sign" data-toc="2-embed-sign#Ios-接入.md-2-embed-sign">2.选择Embed &amp; Sign模式（必须）</h2><div class="container"><figure class="image-container"><img class="center image image-size" id="-2098247616#l932kp_12" alt="iOS11.png" title="iOS11.png" src="I:/work/ceshi/Writerside/images/iOS11.png" width="2559" height="1127"><figcaption class="center-text">iOS11.png</figcaption></figure></div></section><section class="detached"><h2 id="-2098247616#3-other-link-flags-all-load" data-toc="3-other-link-flags-all-load#Ios-接入.md-3-other-link-flags-all-load">3.other link flags 添加-all_load</h2><div class="container"><figure class="image-container"><img class="center image image-size" id="-2098247616#l932kp_13" alt="ios222.png" title="ios222.png" src="I:/work/ceshi/Writerside/images/ios222.png" width="2555" height="815"><figcaption class="center-text">ios222.png</figcaption></figure></div></section><section class="detached"><h2 id="-2098247616#4-bitcode-excluded-architectures" data-toc="4-bitcode-excluded-architectures#Ios-接入.md-4-bitcode-excluded-architectures">4.关闭bitcode，修改Excluded Architectures为</h2><div class="detached code-block" id="-2098247616#l932kp_14"><pre><code class="language-objectivec">EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_
x86_64=arm64 arm64e armv7 armv7s armv6 armv8 EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$
(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT))</code></pre></div></section><section class="detached"><h2 id="-2098247616#5" data-toc="5#Ios-接入.md-5">5.初始化⽅法</h2><div class="detached code-block" id="-2098247616#l932kp_15"><pre><code class="language-objectivec">/// 初始化SDK
- (void)sdkInit {
    [[HWanBasicManager sharedInstance] sdkInitWithAppId:@&quot;&quot; LoginKey:@&quot;&quot; CallBack:^(NSString * _Nonnull message) {
        ///初始化成功后再去调用其他方法
    } failure:^(NSError * _Nonnull error) {
        
    }];
}</code></pre></div></section><section class="detached"><h2 id="-2098247616#6" data-toc="6#Ios-接入.md-6">6.登录⽅法</h2><div class="detached code-block" id="-2098247616#l932kp_16"><pre><code class="language-objectivec">/// 登录
[[HWanBasicManager sharedInstance] sdkLogin:^(NSDictionary * _Nonnull dataDic) {
    NSLog(@&quot;loginCallBack======%@&quot;,dataDic);
}];
/// 切换账号
[[HWanBasicManager sharedInstance] changeAccount:^(NSDictionary * _Nonnull dataDic) {
    NSLog(@&quot;changeAccountCallBack======%@&quot;,dataDic);
}];

[HWanBasicManager sharedInstance].accountInfoChanged = ^{
  ///账号信息发生变化 需重新走登录流程
};</code></pre></div></section><section class="detached"><h2 id="-2098247616#7-url" data-toc="7-url#Ios-接入.md-7-url">7.配置URL</h2><div class="detached code-block" id="-2098247616#l932kp_17"><pre><code class="language-none">Types为hw+游戏BundleID 例如(hwcom.baidu) ⽤于⼀键登录并且在AppDelegate中调⽤</code></pre></div></section><section class="detached"><h2 id="-2098247616#8" data-toc="8#Ios-接入.md-8">8.上传⻆⾊信息</h2><div class="detached code-block" id="-2098247616#l932kp_18"><pre><code class="language-objectivec">/// 上传角色信息
/// charId 角色ID
/// roleName 角色名
/// serverName 区服名
/// serverId 区服ID
/// level 等级
/// power 战力
/// 参数没有则传空字符串
- (void)roleButtonClick:(UIButton *)button {
    [[HWanBasicManager sharedInstance] updateRoleInfoWithRoleName:@&quot;&quot; Charid:@&quot;&quot; Level:@&quot;&quot; Power:@&quot;&quot; ServerId:@&quot;&quot; ServerName:@&quot;&quot; Extinfo:@&quot;&quot; CallBack:^(NSDictionary * _Nonnull dataDic) {
        NSLog(@&quot;%@&quot;,dataDic);
    } failure:^(NSError * _Nonnull error) {
        
    }];
}</code></pre></div></section><section class="detached"><h2 id="-2098247616#9" data-toc="9#Ios-接入.md-9">9.充值</h2><div class="detached code-block" id="-2098247616#l932kp_19"><pre><code class="language-objectivec">/// 充值
/// payKey payKey
/// amount 金额
/// cpOrderId 订单号
/// charid 角色ID
/// roleName 角色名
/// serverName 区服名
/// serverId 区服ID
/// extInfo 扩展参数
- (void)rechargeButtonClick:(UIButton *)button {
    [[HWanBasicManager sharedInstance] payWithPayKey:@&quot;&quot; Amount:@&quot;&quot; CpOrderId:@&quot;&quot; Charid:@&quot;&quot; RoleName:@&quot;&quot; ServerName:@&quot;&quot; ServerId:@&quot;&quot; Extinfo:@&quot;&quot; CallBack:^(NSString * _Nonnull message) {
        
    } failure:^(NSError * _Nonnull error) {
        
    }];
}</code></pre></div></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-1889219254">SDK for Android/IOS服务器端集成说明</h1><div class="table-wrapper detached"><table id="-1889219254#-it1oy1_3"><tr class="header-row" id="-1889219254#-it1oy1_7"><th id="-1889219254#-it1oy1_9"><p>文件标识</p></th><th id="-1889219254#-it1oy1_10"><p>当前版本</p></th><th id="-1889219254#-it1oy1_11"><p>完成日期</p></th><th id="-1889219254#-it1oy1_12"><p>更新日期</p></th></tr><tr class="" id="-1889219254#-it1oy1_8"><td id="-1889219254#-it1oy1_13"><p>集成说明</p></td><td id="-1889219254#-it1oy1_14"><p>1.1</p></td><td id="-1889219254#-it1oy1_15"><p>2017-07-05</p></td><td id="-1889219254#-it1oy1_16"><p>2020-07-07</p></td></tr></table></div><p id="-1889219254#-it1oy1_4">提示： http://db.92hwan.com 为接口url login_key为登录key pay_key为支付key 都在我方参数文档中，请联系我方提供 通过游戏服务器 取得用户信息</p><section class="detached"><h2 id="-1889219254#-it1oy1_5" data-toc="-it1oy1_5#移动服务端文档.md--it1oy1_5">通过游戏服务器获取用户信息</h2><p id="-1889219254#-it1oy1_17">由游戏服务器 发起 Post 请求 Url: http://db.92hwan.com/api/user_login.php</p><p id="-1889219254#-it1oy1_18">请求参数:</p><div class="table-wrapper detached"><table id="-1889219254#-it1oy1_19"><tr class="header-row" id="-1889219254#-it1oy1_24"><th id="-1889219254#-it1oy1_30"><p>参数名</p></th><th id="-1889219254#-it1oy1_31"><p>数据类型</p></th><th id="-1889219254#-it1oy1_32"><p>说明</p></th><th id="-1889219254#-it1oy1_33"><p>备注</p></th></tr><tr class="" id="-1889219254#-it1oy1_25"><td id="-1889219254#-it1oy1_34"><p>appid</p></td><td id="-1889219254#-it1oy1_35"><p>int</p></td><td id="-1889219254#-it1oy1_36"><p>SDK平台的游戏ID</p></td><td id="-1889219254#-it1oy1_37"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_26"><td id="-1889219254#-it1oy1_38"><p>sdkversion</p></td><td id="-1889219254#-it1oy1_39"><p>String</p></td><td id="-1889219254#-it1oy1_40"><p>值固定1.1</p></td><td id="-1889219254#-it1oy1_41"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_27"><td id="-1889219254#-it1oy1_42"><p>sessionid</p></td><td id="-1889219254#-it1oy1_43"><p>String</p></td><td id="-1889219254#-it1oy1_44"><p>游戏端返回的token</p></td><td id="-1889219254#-it1oy1_45"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_28"><td id="-1889219254#-it1oy1_46"><p>time</p></td><td id="-1889219254#-it1oy1_47"><p>int</p></td><td id="-1889219254#-it1oy1_48"><p>时间戳10位</p></td><td id="-1889219254#-it1oy1_49"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_29"><td id="-1889219254#-it1oy1_50"><p>sign</p></td><td id="-1889219254#-it1oy1_51"><p>String</p></td><td id="-1889219254#-it1oy1_52"><p>验证字符串</p></td><td id="-1889219254#-it1oy1_53"><p>必传</p></td></tr></table></div><p id="-1889219254#-it1oy1_20">sign签名规则</p><div class="detached code-block" id="-1889219254#-it1oy1_21"><pre><code class="language-java">md5(sessionid+appid+time+sdkversion+login_key)
// 示例  
seeionid=id&amp;appid=1122&amp;time=1234567890&amp;sdkversion=1.1&amp;login_key=key
md5(id+1122+1234567890+1.1+key)    // 加号不参与加密，仅为拼接使用即加密此字符串 id112212345678901.1key 
加密后: 
89f81a090bfce8bad248c2a02c820489</code></pre></div><p id="-1889219254#-it1oy1_22">请求成功后返回字段：</p><div class="table-wrapper detached"><table id="-1889219254#-it1oy1_23"><tr class="header-row" id="-1889219254#-it1oy1_54"><th id="-1889219254#-it1oy1_58"><p>参数名</p></th><th id="-1889219254#-it1oy1_59"><p>数据类型</p></th><th id="-1889219254#-it1oy1_60"><p>说明</p></th><th id="-1889219254#-it1oy1_61"><p>备注</p></th></tr><tr class="" id="-1889219254#-it1oy1_55"><td id="-1889219254#-it1oy1_62"><p>code</p></td><td id="-1889219254#-it1oy1_63"><p>int</p></td><td id="-1889219254#-it1oy1_64"><p>0：sessionid 有误 1：成功 2: 检查appid是否传错了或者检查代码是不是用post方式传输数据 3：加密字符串 sign 有误</p></td><td id="-1889219254#-it1oy1_65"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_56"><td id="-1889219254#-it1oy1_66"><p>message</p></td><td id="-1889219254#-it1oy1_67"><p>String</p></td><td id="-1889219254#-it1oy1_68"><p>返回结果描述</p></td><td id="-1889219254#-it1oy1_69"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_57"><td id="-1889219254#-it1oy1_70"><p>data</p></td><td id="-1889219254#-it1oy1_71"><p>String</p></td><td id="-1889219254#-it1oy1_72"><p>含 uid 等用户信息</p></td><td id="-1889219254#-it1oy1_73"><p>必传</p></td></tr></table></div></section><section class="detached"><h2 id="-1889219254#-it1oy1_6" data-toc="-it1oy1_6#移动服务端文档.md--it1oy1_6">充值通知兑换 请求</h2><p id="-1889219254#-it1oy1_74">当充值成功 由SDK 服务器 发送 GET 请求</p><div class="table-wrapper detached"><table id="-1889219254#-it1oy1_75"><tr class="header-row" id="-1889219254#-it1oy1_80"><th id="-1889219254#-it1oy1_90"><p>参数名</p></th><th id="-1889219254#-it1oy1_91"><p>数据类型</p></th><th id="-1889219254#-it1oy1_92"><p>说明</p></th><th id="-1889219254#-it1oy1_93"><p>备注</p></th></tr><tr class="" id="-1889219254#-it1oy1_81"><td id="-1889219254#-it1oy1_94"><p>cporderid</p></td><td id="-1889219254#-it1oy1_95"><p>String</p></td><td id="-1889219254#-it1oy1_96"><p>游戏传过来的orderid</p></td><td id="-1889219254#-it1oy1_97"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_82"><td id="-1889219254#-it1oy1_98"><p>orderid</p></td><td id="-1889219254#-it1oy1_99"><p>String</p></td><td id="-1889219254#-it1oy1_100"><p>SDK平台的订单ID</p></td><td id="-1889219254#-it1oy1_101"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_83"><td id="-1889219254#-it1oy1_102"><p>appid</p></td><td id="-1889219254#-it1oy1_103"><p>String</p></td><td id="-1889219254#-it1oy1_104"><p>SDK平台的游戏ID</p></td><td id="-1889219254#-it1oy1_105"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_84"><td id="-1889219254#-it1oy1_106"><p>uid</p></td><td id="-1889219254#-it1oy1_107"><p>int</p></td><td id="-1889219254#-it1oy1_108"><p>时间戳10位</p></td><td id="-1889219254#-it1oy1_109"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_85"><td id="-1889219254#-it1oy1_110"><p>extinfo</p></td><td id="-1889219254#-it1oy1_111"><p>String</p></td><td id="-1889219254#-it1oy1_112"><p>游戏传过来的callbackInfo字段的值</p></td><td id="-1889219254#-it1oy1_113"><p>非必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_86"><td id="-1889219254#-it1oy1_114"><p>amount</p></td><td id="-1889219254#-it1oy1_115"><p>float</p></td><td id="-1889219254#-it1oy1_116"><p>用户充值金额（人民币元）注意：做支付金额验证后，游戏再发货。</p></td><td id="-1889219254#-it1oy1_117"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_87"><td id="-1889219254#-it1oy1_118"><p>serverid</p></td><td id="-1889219254#-it1oy1_119"><p>String</p></td><td id="-1889219254#-it1oy1_120"><p>服务器ID</p></td><td id="-1889219254#-it1oy1_121"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_88"><td id="-1889219254#-it1oy1_122"><p>charid</p></td><td id="-1889219254#-it1oy1_123"><p>String</p></td><td id="-1889219254#-it1oy1_124"><p>角色ID</p></td><td id="-1889219254#-it1oy1_125"><p>必传</p></td></tr><tr class="" id="-1889219254#-it1oy1_89"><td id="-1889219254#-it1oy1_126"><p>sign</p></td><td id="-1889219254#-it1oy1_127"><p>String</p></td><td id="-1889219254#-it1oy1_128"><p>加密字符串</p></td><td id="-1889219254#-it1oy1_129"><p>必传</p></td></tr></table></div><p id="-1889219254#-it1oy1_76">sign签名规则</p><div class="detached code-block" id="-1889219254#-it1oy1_77"><pre><code class="language-java">//对传入的参数  按照键名进行升序排序
顺序 amount+appid+charid+cporderid+extinfo+orderid+serverid+time+uid+pay_key
// 示例  
md5(amount=0.01&amp;appid=5N4228223676ZZ86&amp;charid=2147483647&amp;cporderid=11903201049270000001&amp;extinfo=%E5%85%85%E5%80%BC6%E5%85%83&amp;orderid=20190320105121956109&amp;serverid=46&amp;time=1553050281&amp;uid=1_1209_1KApwfrMMtP4QdNNtpBxHK4FwFcncNbwH)
加密后: 
5ec219c47f120d45bed77a03133bffb6</code></pre></div><p id="-1889219254#-it1oy1_78">请求成功后返回字段：</p><div class="table-wrapper detached"><table id="-1889219254#-it1oy1_79"><tr class="header-row" id="-1889219254#-it1oy1_130"><th id="-1889219254#-it1oy1_133"><p>结果</p></th><th id="-1889219254#-it1oy1_134"><p>说明</p></th></tr><tr class="" id="-1889219254#-it1oy1_131"><td id="-1889219254#-it1oy1_135"><p>success</p></td><td id="-1889219254#-it1oy1_136"><p>接收成功</p></td></tr><tr class="" id="-1889219254#-it1oy1_132"><td id="-1889219254#-it1oy1_137"><p>error</p></td><td id="-1889219254#-it1oy1_138"><p>失败</p></td></tr></table></div></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="3007501">H5接入</h1><p id="3007501#-n0smjo_3">测试地址 http://qj.94wan.com/?ct=h5game&amp;ac=info&amp;gid=</p><p id="3007501#-n0smjo_4">appid: Login_key: Pay_key: 1、登陆接口： 请求地址： (游戏入口地址，游戏方提供)</p><p id="3007501#-n0smjo_5">请求方式：由我们是使用类似iframe， GET方式 到游戏地址</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_6"><tr class="header-row" id="3007501#-n0smjo_28"><th id="3007501#-n0smjo_31"><p>参数名</p></th><th id="3007501#-n0smjo_32"><p>类型</p></th><th id="3007501#-n0smjo_33"><p>是否必要</p></th><th id="3007501#-n0smjo_34"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_29"><td id="3007501#-n0smjo_35"><p>u_token</p></td><td id="3007501#-n0smjo_36"><p>int</p></td><td id="3007501#-n0smjo_37"><p>是</p></td><td id="3007501#-n0smjo_38"><p>用户登录口令</p></td></tr><tr class="" id="3007501#-n0smjo_30"><td id="3007501#-n0smjo_39"><p>time</p></td><td id="3007501#-n0smjo_40"><p>int</p></td><td id="3007501#-n0smjo_41"><p>是</p></td><td id="3007501#-n0smjo_42"><p>登录时间</p></td></tr></table></div><p id="3007501#-n0smjo_7">回调Url: http://work.94hwan.com/api/hf_html5.php 返回用户信息 需要携带参数如下： 方式GET</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_8"><tr class="header-row" id="3007501#-n0smjo_43"><th id="3007501#-n0smjo_48"><p>参数名</p></th><th id="3007501#-n0smjo_49"><p>类型</p></th><th id="3007501#-n0smjo_50"><p>是否必要</p></th><th id="3007501#-n0smjo_51"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_44"><td id="3007501#-n0smjo_52"><p>time</p></td><td id="3007501#-n0smjo_53"><p>Int</p></td><td id="3007501#-n0smjo_54"><p>是</p></td><td id="3007501#-n0smjo_55"><p>登录时间，我方传入的</p></td></tr><tr class="" id="3007501#-n0smjo_45"><td id="3007501#-n0smjo_56"><p>appid</p></td><td id="3007501#-n0smjo_57"><p>String</p></td><td id="3007501#-n0smjo_58"><p>是</p></td><td id="3007501#-n0smjo_59"><p>我方提供</p></td></tr><tr class="" id="3007501#-n0smjo_46"><td id="3007501#-n0smjo_60"><p>u_token</p></td><td id="3007501#-n0smjo_61"><p>String</p></td><td id="3007501#-n0smjo_62"><p>是</p></td><td id="3007501#-n0smjo_63"><p>用户登录口令</p></td></tr><tr class="" id="3007501#-n0smjo_47"><td id="3007501#-n0smjo_64"><p>sign</p></td><td id="3007501#-n0smjo_65"><p>String</p></td><td id="3007501#-n0smjo_66"><p>是</p></td><td id="3007501#-n0smjo_67"><p>加密签名</p></td></tr></table></div><p id="3007501#-n0smjo_9">签名：sign=md5(time+appid+u_token+login_key); 说明 &ldquo;+&rdquo;为连接符，不参与加密</p><p id="3007501#-n0smjo_10">返回参数：</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_11"><tr class="header-row" id="3007501#-n0smjo_68"><th id="3007501#-n0smjo_72"><p>参数名</p></th><th id="3007501#-n0smjo_73"><p>类型</p></th><th id="3007501#-n0smjo_74"><p>是否必要</p></th><th id="3007501#-n0smjo_75"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_69"><td id="3007501#-n0smjo_76"><p>uid</p></td><td id="3007501#-n0smjo_77"><p>Int</p></td><td id="3007501#-n0smjo_78"><p>是</p></td><td id="3007501#-n0smjo_79"><p>用户唯一性ID</p></td></tr><tr class="" id="3007501#-n0smjo_70"><td id="3007501#-n0smjo_80"><p>name</p></td><td id="3007501#-n0smjo_81"><p>String</p></td><td id="3007501#-n0smjo_82"><p>是</p></td><td id="3007501#-n0smjo_83"><p>用户姓名</p></td></tr><tr class="" id="3007501#-n0smjo_71"><td id="3007501#-n0smjo_84"><p>idcard</p></td><td id="3007501#-n0smjo_85"><p>String</p></td><td id="3007501#-n0smjo_86"><p>是</p></td><td id="3007501#-n0smjo_87"><p>用户身份证号</p></td></tr></table></div><p id="3007501#-n0smjo_12">通知成功返回json格式数据，code为状态。data为说明 例：{&ldquo;code&rdquo;:&rdquo;true&rdquo;,&rdquo;data&rdquo;:{&ldquo;uid&rdquo;:&rdquo;122&rdquo;}}</p><p id="3007501#-n0smjo_13">{&ldquo;code&rdquo;:&rdquo;false&rdquo;,&rdquo;data&rdquo;: &ldquo;失败，用户未登录&rdquo;}</p><p id="3007501#-n0smjo_14">2、充值调起：</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_15"><tr class="header-row" id="3007501#-n0smjo_88"><th id="3007501#-n0smjo_95"><p>参数名</p></th><th id="3007501#-n0smjo_96"><p>类型</p></th><th id="3007501#-n0smjo_97"><p>是否必要</p></th><th id="3007501#-n0smjo_98"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_89"><td id="3007501#-n0smjo_99"><p>uid</p></td><td id="3007501#-n0smjo_100"><p>int</p></td><td id="3007501#-n0smjo_101"><p>是</p></td><td id="3007501#-n0smjo_102"><p>用户ID</p></td></tr><tr class="" id="3007501#-n0smjo_90"><td id="3007501#-n0smjo_103"><p>appid</p></td><td id="3007501#-n0smjo_104"><p>string</p></td><td id="3007501#-n0smjo_105"><p>是</p></td><td id="3007501#-n0smjo_106"><p>游戏ID</p></td></tr><tr class="" id="3007501#-n0smjo_91"><td id="3007501#-n0smjo_107"><p>serverid</p></td><td id="3007501#-n0smjo_108"><p>string</p></td><td id="3007501#-n0smjo_109"><p>是</p></td><td id="3007501#-n0smjo_110"><p>区服ID</p></td></tr><tr class="" id="3007501#-n0smjo_92"><td id="3007501#-n0smjo_111"><p>extinfo</p></td><td id="3007501#-n0smjo_112"><p>string</p></td><td id="3007501#-n0smjo_113"><p>否</p></td><td id="3007501#-n0smjo_114"><p>附加内容（可传渠道订单号）</p></td></tr><tr class="" id="3007501#-n0smjo_93"><td id="3007501#-n0smjo_115"><p>amount</p></td><td id="3007501#-n0smjo_116"><p>float</p></td><td id="3007501#-n0smjo_117"><p>是</p></td><td id="3007501#-n0smjo_118"><p>金额</p></td></tr><tr class="" id="3007501#-n0smjo_94"><td id="3007501#-n0smjo_119"><p>sign</p></td><td id="3007501#-n0smjo_120"><p>string</p></td><td id="3007501#-n0smjo_121"><p>是</p></td><td id="3007501#-n0smjo_122"><p>加密字符串</p></td></tr></table></div><p id="3007501#-n0smjo_16">签名：sign=md5(uid+appid+serverid+amount+pay_key); 说明 &ldquo;+&rdquo;为连接符，不参与 加密</p><p id="3007501#-n0smjo_17">支付示例:</p><div class="detached code-block" id="3007501#-n0smjo_18"><pre><code class="language-javascript">&lt;script type=&quot;text/JavaScript&quot;&gt;
function pay() {
   		var appid = ''; //APPID
        var uid = ''; //我方用户ID
        var serverid = ''; //游戏区服
        var amount = ''; //充值金额
        var extinfo= ''; //扩展参数
        var sign = ''; //加密
        //调起支付界面
    	var data =
{&quot;money&quot;:amount,&quot;appid&quot;:appid,&quot;serverid&quot;:serverid,&quot;uid&quot;:uid,&quot;amount&quot;:amount,&quot;extinfo&quot;:extinfo,&quot;sign&quot;:sign};
top.postMessage(data,'*');
}
&lt;/script&gt;</code></pre></div><p id="3007501#-n0smjo_19">注意：如果游戏方已写支付弹窗，可直接组合支付链接然后进行请求 3、充值兑换请求： URL ：(地址，游戏方提供)&nbsp; 当充值成功 由SDK 服务器 发送 GET 请求到游戏服务器</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_20"><tr class="header-row" id="3007501#-n0smjo_123"><th id="3007501#-n0smjo_131"><p>参数名</p></th><th id="3007501#-n0smjo_132"><p>类型</p></th><th id="3007501#-n0smjo_133"><p>是否必要</p></th><th id="3007501#-n0smjo_134"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_124"><td id="3007501#-n0smjo_135"><p>oid</p></td><td id="3007501#-n0smjo_136"><p>string</p></td><td id="3007501#-n0smjo_137"><p>是</p></td><td id="3007501#-n0smjo_138"><p>充值订单号</p></td></tr><tr class="" id="3007501#-n0smjo_125"><td id="3007501#-n0smjo_139"><p>uid</p></td><td id="3007501#-n0smjo_140"><p>int</p></td><td id="3007501#-n0smjo_141"><p>是</p></td><td id="3007501#-n0smjo_142"><p>用户ID</p></td></tr><tr class="" id="3007501#-n0smjo_126"><td id="3007501#-n0smjo_143"><p>appid</p></td><td id="3007501#-n0smjo_144"><p>string</p></td><td id="3007501#-n0smjo_145"><p>是</p></td><td id="3007501#-n0smjo_146"><p>游戏ID</p></td></tr><tr class="" id="3007501#-n0smjo_127"><td id="3007501#-n0smjo_147"><p>serverid</p></td><td id="3007501#-n0smjo_148"><p>string</p></td><td id="3007501#-n0smjo_149"><p>是</p></td><td id="3007501#-n0smjo_150"><p>区服ID</p></td></tr><tr class="" id="3007501#-n0smjo_128"><td id="3007501#-n0smjo_151"><p>extinfo</p></td><td id="3007501#-n0smjo_152"><p>string</p></td><td id="3007501#-n0smjo_153"><p>否</p></td><td id="3007501#-n0smjo_154"><p>附加内容原样回传</p></td></tr><tr class="" id="3007501#-n0smjo_129"><td id="3007501#-n0smjo_155"><p>amount</p></td><td id="3007501#-n0smjo_156"><p>float</p></td><td id="3007501#-n0smjo_157"><p>是</p></td><td id="3007501#-n0smjo_158"><p>金额</p></td></tr><tr class="" id="3007501#-n0smjo_130"><td id="3007501#-n0smjo_159"><p>sign</p></td><td id="3007501#-n0smjo_160"><p>string</p></td><td id="3007501#-n0smjo_161"><p>是</p></td><td id="3007501#-n0smjo_162"><p>加密字符串</p></td></tr></table></div><p id="3007501#-n0smjo_21">签名：sign=md5(oid+uid+appid+serverid+amount+pay_key); 说明 &ldquo;+&rdquo;为连接符，不参与加密</p><p id="3007501#-n0smjo_22">通知成功返回json格式数据，code为状态。data为说明 例： {&quot;code&quot;:&quot;true&quot;,&quot;data&quot;:&quot;成功&quot;} {&quot;code&quot;:&quot;false&quot;,&quot;data&quot;:&quot;失败&quot;}</p><p id="3007501#-n0smjo_23">4、玩家数据回调： 如果不回调，可由厂家提供查询接口，有我们开发查询 请求URL : http://work.94hwan.com/api/h5_role.php</p><p id="3007501#-n0smjo_24">当用户成功登录游戏后，由游戏 服务器 发送 POST 请求</p><div class="table-wrapper detached"><table id="3007501#-n0smjo_25"><tr class="header-row" id="3007501#-n0smjo_163"><th id="3007501#-n0smjo_173"><p>参数名</p></th><th id="3007501#-n0smjo_174"><p>类型</p></th><th id="3007501#-n0smjo_175"><p>是否必要</p></th><th id="3007501#-n0smjo_176"><p>参数说明</p></th></tr><tr class="" id="3007501#-n0smjo_164"><td id="3007501#-n0smjo_177"><p>uid</p></td><td id="3007501#-n0smjo_178"><p>int</p></td><td id="3007501#-n0smjo_179"><p>是</p></td><td id="3007501#-n0smjo_180"><p>平台用户ID</p></td></tr><tr class="" id="3007501#-n0smjo_165"><td id="3007501#-n0smjo_181"><p>charid</p></td><td id="3007501#-n0smjo_182"><p>string</p></td><td id="3007501#-n0smjo_183"><p>是</p></td><td id="3007501#-n0smjo_184"><p>角色id</p></td></tr><tr class="" id="3007501#-n0smjo_166"><td id="3007501#-n0smjo_185"><p>appid</p></td><td id="3007501#-n0smjo_186"><p>string</p></td><td id="3007501#-n0smjo_187"><p>是</p></td><td id="3007501#-n0smjo_188"><p>游戏ID</p></td></tr><tr class="" id="3007501#-n0smjo_167"><td id="3007501#-n0smjo_189"><p>serverid</p></td><td id="3007501#-n0smjo_190"><p>string</p></td><td id="3007501#-n0smjo_191"><p>是</p></td><td id="3007501#-n0smjo_192"><p>区服ID</p></td></tr><tr class="" id="3007501#-n0smjo_168"><td id="3007501#-n0smjo_193"><p>servername</p></td><td id="3007501#-n0smjo_194"><p>string</p></td><td id="3007501#-n0smjo_195"><p>是</p></td><td id="3007501#-n0smjo_196"><p>区服名称</p></td></tr><tr class="" id="3007501#-n0smjo_169"><td id="3007501#-n0smjo_197"><p>role_name</p></td><td id="3007501#-n0smjo_198"><p>string</p></td><td id="3007501#-n0smjo_199"><p>是</p></td><td id="3007501#-n0smjo_200"><p>角色名</p></td></tr><tr class="" id="3007501#-n0smjo_170"><td id="3007501#-n0smjo_201"><p>level</p></td><td id="3007501#-n0smjo_202"><p>string</p></td><td id="3007501#-n0smjo_203"><p>是</p></td><td id="3007501#-n0smjo_204"><p>等级</p></td></tr><tr class="" id="3007501#-n0smjo_171"><td id="3007501#-n0smjo_205"><p>power</p></td><td id="3007501#-n0smjo_206"><p>string</p></td><td id="3007501#-n0smjo_207"><p>是</p></td><td id="3007501#-n0smjo_208"><p>战力</p></td></tr><tr class="" id="3007501#-n0smjo_172"><td id="3007501#-n0smjo_209"><p>sign</p></td><td id="3007501#-n0smjo_210"><p>string</p></td><td id="3007501#-n0smjo_211"><p>是</p></td><td id="3007501#-n0smjo_212"><p>加密字符串</p></td></tr></table></div><p id="3007501#-n0smjo_26">签名：sign=md5(uid+appid+serverid+login_key); 说明 &ldquo;+&rdquo;为连接符，不参与加密</p><p id="3007501#-n0smjo_27">通知成功返回json格式数据，code为状态。data为说明 例： {&quot;code&quot;:&quot;true&quot;,&quot;data&quot;:&quot;成功&quot;} {&quot;code&quot;:&quot;false&quot;,&quot;data&quot;:&quot;失败&quot;}</p></article></div></section></div></body></html>